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)

    XMLWordPrintable

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

            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: