Details
-
Bug
-
Resolution: Fixed
-
Critical
-
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
- is related to
-
LU-4416 support for 3.12 linux kernel
-
- Resolved
-
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.