Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-3518

liblustreapi.a not forward compatible between 2.1.5 and 2.3.0 (maybe others)

Details

    • Bug
    • Resolution: Duplicate
    • Minor
    • None
    • Lustre 2.3.0, Lustre 2.1.5
    • 3
    • 8851

    Description

      Binaries utilizing liblustreapi.a compiled with 2.1.5 do not function
      properly with 2.3.0. This may affect other versions as well, but these
      are what we're currently running.

      Here is a simple reproducer (call bug.c):

      #include <stdio.h>
      #include <lustre/liblustreapi.h>

      int main(int argc, char *argv[]) {
      // set stripe count to 2 with default stripe size
      if (llapi_file_create(argv[1], 0, -1, 2, 0))

      { perror("problem"); }

      }

      Compile as follows:

      gcc bug.c -Wl,-Bstatic -llustreapi -Wl,-Bdynamic

      Give a non-existing file name on lustre as an argument. When you
      compile on a 2.1.5 system, it works fine on 2.1.5 systems:

      client215[556]/nobackupp2/user1> ~/a.out aaa
      client215[557]/nobackupp2/user1>

      but gives a bogus error on 2.3.0 systems:

      client230[590]/nobackupp2/pkolano> ~/a.out bbb
      error on ioctl 0x4008669a for 'bbb' (3): stripe already set
      problem: File exists

      When you compile on a 2.3.0 system, it works fine on both:

      client215[568]/nobackupp2/user1> ~/a.out aaa
      client215[569]/nobackupp2/user1>

      client230[602]/nobackupp2/user1> ~/a.out bbb
      client230[603]/nobackupp2/user1>

      Attachments

        Issue Links

          Activity

            [LU-3518] liblustreapi.a not forward compatible between 2.1.5 and 2.3.0 (maybe others)
            pjones Peter Jones added a comment -

            Seems to be a duplicate of LU-812

            pjones Peter Jones added a comment - Seems to be a duplicate of LU-812

            Jay,
            Did we get this answered to your satisfaction?
            If so, can I go ahead and mark the ticket as resolved?
            Thanks,
            ~ jfc.

            jfc John Fuchs-Chesney (Inactive) added a comment - Jay, Did we get this answered to your satisfaction? If so, can I go ahead and mark the ticket as resolved? Thanks, ~ jfc.

            Hi,
            Yes, the binary built against the b2_1 without the patch would be incompatible about the flag O_LOV_DELAY_CREATE.
            and it will affect the applications using this flag and won't affect the server side for the patch only affects the clients.

            hongchao.zhang Hongchao Zhang added a comment - Hi, Yes, the binary built against the b2_1 without the patch would be incompatible about the flag O_LOV_DELAY_CREATE. and it will affect the applications using this flag and won't affect the server side for the patch only affects the clients.

            Your patch worked for us.

            One concern. If this patch is landed to b2_1, wouldn't it make later 2.1.x release binary incompatible with releases without the patch?

            jaylan Jay Lan (Inactive) added a comment - Your patch worked for us. One concern. If this patch is landed to b2_1, wouldn't it make later 2.1.x release binary incompatible with releases without the patch?

            the patch against b2_1 is tracked at http://review.whamcloud.com/#/c/6933/

            hongchao.zhang Hongchao Zhang added a comment - the patch against b2_1 is tracked at http://review.whamcloud.com/#/c/6933/

            this issue is caused by the conflict between O_LOV_DELAY_CREATE and FMODE_NONOTIFY (introduced since 2.6.36).
            the patch http://review.whamcloud.com/#/c/3779/ in LU-812 has fixed it.

            hongchao.zhang Hongchao Zhang added a comment - this issue is caused by the conflict between O_LOV_DELAY_CREATE and FMODE_NONOTIFY (introduced since 2.6.36). the patch http://review.whamcloud.com/#/c/3779/ in LU-812 has fixed it.
            pjones Peter Jones added a comment -

            Hongchao

            Why don't you try to reproduce on SLES yourself?

            Peter

            pjones Peter Jones added a comment - Hongchao Why don't you try to reproduce on SLES yourself? Peter

            the issue could be related to OS, I have tried it on RHEL5 (2.6.18-348) and RHEL6 (2.6.32-279.2.1), it's okay.
            did you ever encounter this issue on other platform except SUSE?

            hongchao.zhang Hongchao Zhang added a comment - the issue could be related to OS, I have tried it on RHEL5 (2.6.18-348) and RHEL6 (2.6.32-279.2.1), it's okay. did you ever encounter this issue on other platform except SUSE?

            status update:
            the cause of the issue was not clear yet, could need some more time
            to investigate, will update it once there is any progress, thanks.

            hongchao.zhang Hongchao Zhang added a comment - status update: the cause of the issue was not clear yet, could need some more time to investigate, will update it once there is any progress, thanks.
            pjones Peter Jones added a comment -

            Hongchao

            Could you please help with this one?

            Thanks

            Peter

            pjones Peter Jones added a comment - Hongchao Could you please help with this one? Thanks Peter

            People

              hongchao.zhang Hongchao Zhang
              kolano Paul Kolano (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: