Details
-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
Lustre 2.4.3
-
None
-
The git tree is at https://github.com/jlan/lustre-nas
Server: centos 6.4 running 2.4.3 (tag: 2.4.3-8nasS)
Client: sles11sp3 running 2.4.3 (tag: 2.4.3-11nasC)
-
3
-
16863
Description
One of our sles11sp3 production clients panicked with signature of LU-4445.
LU-4445 was merged to LU-4604. The patch of master branch (#8694) was ported to b2_5 (#12531).
The patch of #12531 was cherry-picked into our nas-2.4.3 branch cleanly. However, compilation failed:
=== start quote ====
...
Making all in posix
make[6]: Entering directory `/usr/src/packages/BUILD/lustre-2.4.3/libcfs/libcfs'
In file included from /usr/src/packages/BUILD/lustre-2.4.3/lustre/include/lustre_net.h:77,
from /usr/src/packages/BUILD/lustre-2.4.3/lustre/include/lustre_lib.h:70,
from /usr/src/packages/BUILD/lustre-2.4.3/lustre/include/liblustre.h:503,
from fail.c:38:
/usr/src/packages/BUILD/lustre-2.4.3/lustre/include/lu_object.h:336: error: expected specifier-qualifier-list before 'atomic_t'
=== end quote ===
The libcfs/libcfs/fail.c determines which header files to include here:
#ifndef _KERNEL_
#include <liblustre.h>
#else
#include <libcfs/libcfs.h>
#endif
Since <liblustre.h> was included, apparently _KERNEL_ was not defined. However, type 'atomic_t' is defined in <linux/types.h> only if _KERNEL_ defined.
I do not know what changes were made in b2_5 to make it able to compile, it failed to compile in my 2.4.3 environment.
Attachments
Issue Links
- is related to
-
LU-4445 lu_object.c:1199:lu_device_fini()) ASSERTION( t->ldt_device_nr > 0 )
-
- Resolved
-