[LU-5826] build broken by new spl includes Created: 29/Oct/14  Updated: 09/Oct/21  Resolved: 09/Oct/21

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Bob Glossman (Inactive) Assignee: WC Triage
Resolution: Cannot Reproduce Votes: 0
Labels: None

Issue Links:
Related
is related to LU-6038 ZFS 0.6.4 Compatibility Resolved
Severity: 3
Rank (Obsolete): 16334

 Description   

lustre server builds with zfs using the most recent master versions of spl and zfs fail in osd-zfs. this problem isn't seen when building with a fixed version of 0.6.3 or earlier of spl, so it must be due to very recent changes. not a blocker as long as we build with a fixed version of spl that works, but will become a problem the next time we move to later tagged versions.

looks like the underlying cause is conflicting defn's of SHRINK_STOP in spl #includes and lustre #includes. example errors:

  CC [M]  /home/bogl/lustre-release/lustre/osd-zfs/osd_handler.o
In file included from /home/bogl/spl/include/sys/types.h:38,
                 from /home/bogl/spl/include/sys/kstat.h:30,
                 from /home/bogl/lustre-release/lustre/osd-zfs/osd_internal.h:54,
                 from /home/bogl/lustre-release/lustre/osd-zfs/osd_handler.c:60:
/home/bogl/spl/include/linux/mm_compat.h:206:1: error: "SHRINK_STOP" redefined
In file included from /home/bogl/lustre-release/libcfs/include/libcfs/linux/libcfs.h:52,
                 from /home/bogl/lustre-release/libcfs/include/libcfs/libcfs.h:43,
                 from /home/bogl/lustre-release/lustre/osd-zfs/osd_handler.c:50:
/home/bogl/lustre-release/libcfs/include/libcfs/linux/linux-mem.h:149:1: error: this is the location of the previous definition
make[6]: *** [/home/bogl/lustre-release/lustre/osd-zfs/osd_handler.o] Error 1
make[5]: *** [/home/bogl/lustre-release/lustre/osd-zfs] Error 2
make[4]: *** [/home/bogl/lustre-release/lustre] Error 2
make[3]: *** [_module_/home/bogl/lustre-release] Error 2
make[3]: Leaving directory `/home/bogl/rpmbuild/BUILD/kernel-2.6.32.431.29.2.l0924'
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/home/bogl/lustre-release'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/bogl/lustre-release'
make: *** [all] Error 2


 Comments   
Comment by Isaac Huang (Inactive) [ 29/Oct/14 ]

It's a recent commit to support new kernel shrinker API:
https://github.com/zfsonlinux/spl/pull/403

Comment by Oleg Drokin [ 31/Oct/14 ]

Is this something that only happens for you on some special kernel build? Because I did not get any build failure emails.

If this is also happens on general builds that means the notifications are broken again.

Comment by Bob Glossman (Inactive) [ 31/Oct/14 ]

nothing special about it, just using latest master spl/zfs. I repeat, not seen in Jenkins builds since those are done with older static versions of spl/zfs.

Comment by Ned Bass [ 16/Dec/14 ]

A pair of patches recently landed in the SPL and ZFS master branches to fix this build error.

https://github.com/zfsonlinux/spl/commit/52479ec
https://github.com/zfsonlinux/zfs/commit/aaed7c40

Comment by Bob Glossman (Inactive) [ 17/Dec/14 ]

I have verified that building with the latest master versions of spl/zfs now works properly on both el6 and el7. I think this ticket may be closed.

Generated at Sat Feb 10 01:54:51 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.