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

lustre builds on 3.12 kernels are broken

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.6.0
    • None
    • 3
    • 14588

    Description

      As noted by recent comment in LU-4416 builds of lustre on 3.12 kernels no longer work. Suspect this is due to the recent landing of a fix from LU-4906 in master. Can't even build clients which did work until very recently. example errors:

        CC [M]  /home/bogl/lustre-release/lustre/llite/dir.o
      /home/bogl/lustre-release/lustre/llite/dir.c: In function
      bll_dir_readb:
      /home/bogl/lustre-release/lustre/llite/dir.c:249:4: error: implicit
      declaration of function bfilldirb
      [-Werror=implicit-function-declaration]
          done = filldir(cookie, ent->lde_name, namelen, lhash,
          ^
      /home/bogl/lustre-release/lustre/llite/dir.c:249:19: error: bcookieb
      undeclared (first use in this function)
          done = filldir(cookie, ent->lde_name, namelen, lhash,
                         ^
      /home/bogl/lustre-release/lustre/llite/dir.c:249:19: note: each undeclared
      identifier is reported only once for each function it appears in
      cc1: all warnings being treated as errors
      scripts/Makefile.build:324: recipe for target
      '/home/bogl/lustre-release/lustre/llite/dir.o' failed
      make[6]: *** [/home/bogl/lustre-release/lustre/llite/dir.o] Error 1
      scripts/Makefile.build:485: recipe for target
      '/home/bogl/lustre-release/lustre/llite' failed
      make[5]: *** [/home/bogl/lustre-release/lustre/llite] Error 2
      scripts/Makefile.build:485: recipe for target
      '/home/bogl/lustre-release/lustre' failed
      make[4]: *** [/home/bogl/lustre-release/lustre] Error 2
      Makefile:1269: recipe for target '_module_/home/bogl/lustre-release' failed
      make[3]: *** [_module_/home/bogl/lustre-release] Error 2
      make[3]: Leaving directory '/home/bogl/linux-3.12.21-2'
      autoMakefile:1022: recipe for target 'modules' failed
      make[2]: *** [modules] Error 2
      make[2]: Leaving directory '/home/bogl/lustre-release'
      autoMakefile:569: recipe for target 'all-recursive' failed
      make[1]: *** [all-recursive] Error 1
      make[1]: Leaving directory '/home/bogl/lustre-release'
      autoMakefile:474: recipe for target 'all' failed
      make: *** [all] Error 2
      

      I think this is due to recent changes to readdir code in lustre/llite/dir.c that don't take into account the HAVE_DIR_CONTEXT case from autoconf. Code was adjusted elsewhere in lustre to adapt to HAVE_DIR_CONTEXT being #define'ed or #undef'ed.

      Attachments

        Issue Links

          Activity

            [LU-5234] lustre builds on 3.12 kernels are broken
            pjones Peter Jones added a comment -

            Landed for 2.6

            pjones Peter Jones added a comment - Landed for 2.6

            It very well might have been an issue for rhel7 too. It's so very hard to predict what RH chooses to back port. Their 3.10 has many features from 3.12 and even later kernels. I'm glad they didn't back port the readdir changes.

            bogl Bob Glossman (Inactive) added a comment - It very well might have been an issue for rhel7 too. It's so very hard to predict what RH chooses to back port. Their 3.10 has many features from 3.12 and even later kernels. I'm glad they didn't back port the readdir changes.

            That is excellent news. I was under the impression that RHEL7 client got broke at the last minute. You never know what gets back ported by Red Hat We lose SuSE12 client support but its still in beta so it is not as painful of a lost. Mind you all my testing is against a vanilla 3.12 kernel to RHEL7 at this point. Thank you Bob for the clarification.

            simmonsja James A Simmons added a comment - That is excellent news. I was under the impression that RHEL7 client got broke at the last minute. You never know what gets back ported by Red Hat We lose SuSE12 client support but its still in beta so it is not as painful of a lost. Mind you all my testing is against a vanilla 3.12 kernel to RHEL7 at this point. Thank you Bob for the clarification.
            bogl Bob Glossman (Inactive) added a comment - - edited

            James
            Pretty sure this isn't an issue in rhel7. The 3.10 kernel there is too old and lustre built there has #undef HAVE_DIR_CONTEXT. As far as I know it's only an issue on newer kernels like upstream 3.12, 3,14, 3.15, 3.16, sles12 beta, fc20.

            bogl Bob Glossman (Inactive) added a comment - - edited James Pretty sure this isn't an issue in rhel7. The 3.10 kernel there is too old and lustre built there has #undef HAVE_DIR_CONTEXT. As far as I know it's only an issue on newer kernels like upstream 3.12, 3,14, 3.15, 3.16, sles12 beta, fc20.
            pjones Peter Jones added a comment -

            Bob

            Please can you test and review James's patch

            James

            Yes the builders should be up and running shortly

            Peter

            pjones Peter Jones added a comment - Bob Please can you test and review James's patch James Yes the builders should be up and running shortly Peter

            As a side note I really hope rhel7 client testing will start soon to avoid this problems in the future. Even if we could do a simple build test.

            simmonsja James A Simmons added a comment - As a side note I really hope rhel7 client testing will start soon to avoid this problems in the future. Even if we could do a simple build test.
            simmonsja James A Simmons added a comment - Patch at http://review.whamcloud.com/#/c/10761
            simmonsja James A Simmons added a comment - - edited

            I think I know what this is. I saw this when I was testing my 3.15 client.

            P.S
            This should be a blocker.

            simmonsja James A Simmons added a comment - - edited I think I know what this is. I saw this when I was testing my 3.15 client. P.S This should be a blocker.

            People

              bogl Bob Glossman (Inactive)
              bogl Bob Glossman (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: