[LU-8424] osd_object.c:1330:22: error: 'DN_MAX_BONUSLEN' undeclared (first use in this function) DMU_OT_SA, DN_MAX_BONUSLEN, tx); Created: 21/Jul/16  Updated: 26/Apr/17  Resolved: 26/Apr/17

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

Type: Bug Priority: Major
Reporter: John Salinas (Inactive) Assignee: Nathaniel Clark
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates LU-8068 Large ZFS Dnode support Resolved
Related
is related to LU-8619 Lustre to build against ZFS 0.7.0 Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Attempts to build CORAL prototype zfs with Lustre 2.8 fails with:

CC:            gcc
LD:            /usr/bin/ld -m elf_x86_64
CPPFLAGS:      -include /tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/undef.h -include /tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/config.h -I/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/libcfs/include -I/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lnet/include -I/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/include 
CFLAGS:        -g -O2 -Werror -Wall -Werror
EXTRA_KCFLAGS: -include /tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/undef.h -include /tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/config.h  -g -I/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/libcfs/include -I/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lnet/include -I/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/include

Type 'make' to build Lustre.
+ make -s
Making all in .
/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/osd-zfs/osd_object.c: In function '__osd_object_create':
/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/osd-zfs/osd_object.c:1286:22: error: 'DN_MAX_BONUSLEN' undeclared (first use in this function)
           DMU_OT_SA, DN_MAX_BONUSLEN, tx);
                      ^
/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/osd-zfs/osd_object.c:1286:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/osd-zfs/osd_object.c: In function '__osd_zap_create':
/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/osd-zfs/osd_object.c:1330:22: error: 'DN_MAX_BONUSLEN' undeclared (first use in this function)
           DMU_OT_SA, DN_MAX_BONUSLEN, tx);
                      ^
make[7]: *** [/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/osd-zfs/osd_object.o] Error 1
make[6]: *** [/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre/osd-zfs] Error 2
make[5]: *** [/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0/lustre] Error 2
make[4]: *** [_module_/tmp/rpmbuild-lustre--vGTBA8K3/BUILD/lustre-2.8.0] Error 2
make[3]: *** [modules] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
error: Bad exit status from /tmp/rpmbuild-lustre--vGTBA8K3/TMP/rpm-tmp.ffGn9W (%build)
    Bad exit status from /tmp/rpmbuild-lustre--vGTBA8K3/TMP/rpm-tmp.ffGn9W (%build)


RPM build errors:
make: *** [rpms] Error 1


 Comments   
Comment by John Salinas (Inactive) [ 21/Jul/16 ]

JohnM looked at this: DN_MAX_BONUSLEN is defined in ZFS-0.6.5-release branch and not in master – it is set by macros that do not exist in ZFS master branch. I have lowered the priority and we will focus on 2.9.

Comment by Christopher Morrone [ 22/Jul/16 ]

This is due to large dnode support. This is already resolved on master in LU-8068.

Comment by Bob Glossman (Inactive) [ 14/Sep/16 ]

This hasn't been fixed. Still seeing build fails like this when building with latest zfs master. Looks like there are instances of use of DN_MAX_BONUSLEN that aren't addressed by the landed patch. example errors:

make[3]: Entering directory `/home/bogl/lbuild_top/BUILD/kernel-3.10.0-327.36.1.el7/linux-3.10.0-327.36.1.el7_lustre.x86_64'
  CC [M]  /home/bogl/lustre-release/lustre/osd-zfs/osd_oi.o
/home/bogl/lustre-release/lustre/osd-zfs/osd_oi.c: In function ‘osd_oi_create’:
/home/bogl/lustre-release/lustre/osd-zfs/osd_oi.c:176:22: error: ‘DN_MAX_BONUSLEN’ undeclared (first use in this function)
           DMU_OT_SA, DN_MAX_BONUSLEN, tx);
                      ^
/home/bogl/lustre-release/lustre/osd-zfs/osd_oi.c:176:22: note: each undeclared identifier is reported only once for each function it appears in
make[6]: *** [/home/bogl/lustre-release/lustre/osd-zfs/osd_oi.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/lbuild_top/BUILD/kernel-3.10.0-327.36.1.el7/linux-3.10.0-327.36.1.el7_lustre.x86_64'
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
Comment by Nathaniel Clark [ 19/Sep/16 ]

This error is fixed by http://review.whamcloud.com/22523 from LU-8619

Comment by Gerrit Updater [ 18/Mar/17 ]

Ned Bass (bass6@llnl.gov) uploaded a new patch: https://review.whamcloud.com/26078
Subject: LU-8424 osd-zfs: ZFS macro DN_MAX_BONUSLEN is deprecated
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 4f6aa675f9c5ad9635610f0fbc7a0ccadb5c3ff2

Comment by Gerrit Updater [ 26/Apr/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/26078/
Subject: LU-8424 osd-zfs: ZFS macro DN_MAX_BONUSLEN is deprecated
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 69940d2b3a445284e7e10ea04e8cb72ee37a8724

Comment by Peter Jones [ 26/Apr/17 ]

Landed for 2.10

Generated at Sat Feb 10 02:17:25 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.