Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
d_u.d_alias is only needed in llite so move the ifdef to llite_internal.h from lustre_compat.h to avoid the build failure.
Build failure:
In file included from include/linux/kernel.h:11, from /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/libcfs/include/libcfs/libcfs.h:35, from /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/osd-zfs/osd_handler.c:41: /usr/src/zfs-2.1.7/include/linux/dcache_compat.h: In function 'zpl_d_drop_aliases': /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/include/lustre_compat.h:79:19: error: 'union <anonymous>' has no member named 'd_u'; did you mean 'd_rcu'? #define d_alias d_u.d_alias ^~~ include/linux/compiler.h:415:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:438:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:995:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:995:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ include/linux/list.h:866:40: note: in expansion of macro 'container_of' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~~~~~~~~~~ include/linux/list.h:877:15: note: in expansion of macro 'hlist_entry' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~~~~~ include/linux/list.h:887:13: note: in expansion of macro 'hlist_entry_safe' for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\ ^~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:53: note: in expansion of macro 'd_alias' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~ In file included from ././include/linux/compiler_types.h:58, from <command-line>: /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/include/lustre_compat.h:79:19: error: 'union <anonymous>' has no member named 'd_u'; did you mean 'd_rcu'? #define d_alias d_u.d_alias ^~~ include/linux/compiler-gcc.h:185:24: note: in definition of macro '__compiler_offsetof' __builtin_offsetof(a, b) ^ include/linux/kernel.h:998:21: note: in expansion of macro 'offsetof' ((type *)(__mptr - offsetof(type, member))); }) ^~~~~~~~ include/linux/list.h:866:40: note: in expansion of macro 'container_of' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~~~~~~~~~~ include/linux/list.h:877:15: note: in expansion of macro 'hlist_entry' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~~~~~ include/linux/list.h:887:13: note: in expansion of macro 'hlist_entry_safe' for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\ ^~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:53: note: in expansion of macro 'd_alias' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~ In file included from include/linux/module.h:9, from /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/libcfs/include/libcfs/libcfs.h:36, from /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/osd-zfs/osd_handler.c:41: /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/include/lustre_compat.h:79:19: error: 'union <anonymous>' has no member named 'd_u'; did you mean 'd_rcu'? #define d_alias d_u.d_alias ^~~ include/linux/list.h:876:12: note: in definition of macro 'hlist_entry_safe' ({ typeof(ptr) ____ptr = (ptr); \ ^~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:53: note: in expansion of macro 'd_alias' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~ /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/include/lustre_compat.h:79:19: error: 'union <anonymous>' has no member named 'd_u'; did you mean 'd_rcu'? #define d_alias d_u.d_alias ^~~ include/linux/list.h:876:28: note: in definition of macro 'hlist_entry_safe' ({ typeof(ptr) ____ptr = (ptr); \ ^~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:53: note: in expansion of macro 'd_alias' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~ In file included from /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/libcfs/include/libcfs/libcfs.h:35, from /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/osd-zfs/osd_handler.c:41: include/linux/kernel.h:994:17: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] void *__mptr = (void *)(ptr); \ ^ include/linux/list.h:866:40: note: in expansion of macro 'container_of' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~~~~~~~~~~ include/linux/list.h:877:15: note: in expansion of macro 'hlist_entry' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~~~~~ include/linux/list.h:889:13: note: in expansion of macro 'hlist_entry_safe' pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member)) ^~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ In file included from include/linux/kernel.h:11, from /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/libcfs/include/libcfs/libcfs.h:35, from /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/osd-zfs/osd_handler.c:41: include/linux/kernel.h:995:32: error: invalid type argument of unary '*' (have 'int') BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~ include/linux/compiler.h:415:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:438:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:995:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:995:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ include/linux/list.h:866:40: note: in expansion of macro 'container_of' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~~~~~~~~~~ include/linux/list.h:877:15: note: in expansion of macro 'hlist_entry' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~~~~~ include/linux/list.h:889:13: note: in expansion of macro 'hlist_entry_safe' pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member)) ^~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/include/lustre_compat.h:79:19: error: 'union <anonymous>' has no member named 'd_u'; did you mean 'd_rcu'? #define d_alias d_u.d_alias ^~~ include/linux/compiler.h:415:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:438:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:995:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:995:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ include/linux/list.h:866:40: note: in expansion of macro 'container_of' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~~~~~~~~~~ include/linux/list.h:877:15: note: in expansion of macro 'hlist_entry' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~~~~~ include/linux/list.h:889:13: note: in expansion of macro 'hlist_entry_safe' pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member)) ^~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:53: note: in expansion of macro 'd_alias' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~ include/linux/kernel.h:996:18: error: invalid type argument of unary '*' (have 'int') !__same_type(*(ptr), void), \ ^~~~~~ include/linux/compiler.h:415:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:438:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:995:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:996:6: note: in expansion of macro '__same_type' !__same_type(*(ptr), void), \ ^~~~~~~~~~~ include/linux/list.h:866:40: note: in expansion of macro 'container_of' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~~~~~~~~~~ include/linux/list.h:877:15: note: in expansion of macro 'hlist_entry' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~~~~~ include/linux/list.h:889:13: note: in expansion of macro 'hlist_entry_safe' pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member)) ^~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ In file included from ././include/linux/compiler_types.h:58, from <command-line>: /tmp/rpmbuild-lustre-shaun-tJvI6dNU/BUILD/lustre-2.15.0.3_rc2_cray_410_g1bd998f/lustre/include/lustre_compat.h:79:19: error: 'union <anonymous>' has no member named 'd_u'; did you mean 'd_rcu'? #define d_alias d_u.d_alias ^~~ include/linux/compiler-gcc.h:185:24: note: in definition of macro '__compiler_offsetof' __builtin_offsetof(a, b) ^ include/linux/kernel.h:998:21: note: in expansion of macro 'offsetof' ((type *)(__mptr - offsetof(type, member))); }) ^~~~~~~~ include/linux/list.h:866:40: note: in expansion of macro 'container_of' #define hlist_entry(ptr, type, member) container_of(ptr,type,member) ^~~~~~~~~~~~ include/linux/list.h:877:15: note: in expansion of macro 'hlist_entry' ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ ^~~~~~~~~~~ include/linux/list.h:889:13: note: in expansion of macro 'hlist_entry_safe' pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member)) ^~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:2: note: in expansion of macro 'hlist_for_each_entry' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~~~~~~~~~~~~~~ /usr/src/zfs-2.1.7/include/linux/dcache_compat.h:74:53: note: in expansion of macro 'd_alias' hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { ^~~~~~~