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