[LU-8386] Lustre master does not build with zfs master because of 'ZFS_MAXNAMELEN' undeclared Created: 11/Jul/16  Updated: 14/Jun/18  Resolved: 21/Jul/16

Status: Closed
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.9.0

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

Issue Links:
Related
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Type 'make' to build Lustre.
+ make -s
Making all in .
Making all in lustre-iokit
Making all in obdfilter-survey
Making all in sgpdd-survey
Making all in ost-survey
Making all in ior-survey
Making all in mds-survey
Making all in stats-collect
Making all in libcfs
Making all in libcfs
Making all in linux
Making all in util
Making all in include
Making all in libcfs
Making all in linux
Making all in util
Making all in autoconf
Making all in lnet
Making all in lnet
Making all in klnds
Making all in socklnd
Making all in gnilnd
Making all in o2iblnd
Making all in selftest
Making all in doc
Making all in utils
libtool: link: gcc -fPIC -D_GNU_SOURCE -g -O2 -Werror -Wall -Werror -Wl,-z -Wl,relro -o routerstat routerstat.o -L. ../../libcfs/libcfs/libcfs.a -lkeyutils
libtool: link: gcc -fPIC -D_GNU_SOURCE -g -O2 -Werror -Wall -Werror -Wl,-z -Wl,relro -o lst lst-lst.o -L. -lptlctl ../../libcfs/libcfs/libcfsutil.a ../../libcfs/libcfs/libcfs.a -lkeyutils
libtool: link: gcc -fPIC -D_GNU_SOURCE -g -O2 -Werror -Wall -Werror -Wl,-z -Wl,relro -o wirecheck wirecheck.o -L. -lkeyutils
Making all in include
Making all in lnet
Making all in autoconf
Making all in lustre
Making all in include
Making all in lustre
Making all in obdclass
Making all in linux
Making all in ldlm
Making all in ptlrpc
Making all in gss
Making all in obdecho
Making all in mgc
Making all in fid
Making all in fld
Making all in doc
Making all in utils
Making all in gss
libtool: link: gcc -fPIC -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -g -O2 -Werror -Wall -Werror -g -O2 -Werror -Wall -Werror -Wl,-z -Wl,relro -o lsvcgssd lsvcgssd-context.o lsvcgssd-context_lucid.o lsvcgssd-context_mit.o lsvcgssd-context_heimdal.o lsvcgssd-context_spkm3.o lsvcgssd-gss_util.o lsvcgssd-sk_utils.o lsvcgssd-gss_oids.o lsvcgssd-err_util.o lsvcgssd-lsupport.o lsvcgssd-cacheio.o lsvcgssd-svcgssd.o lsvcgssd-svcgssd_main_loop.o lsvcgssd-svcgssd_mech2file.o lsvcgssd-svcgssd_proc.o ../../../libcfs/libcfs/libcfs.a -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcrypto -lssl -lm -lkeyutils
libtool: link: gcc -fPIC -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -g -O2 -Werror -Wall -Werror -Wl,-z -Wl,relro -o l_idmap l_idmap.o lsupport.o err_util.o ../../../libcfs/libcfs/libcfs.a -lkeyutils
libtool: link: gcc -fPIC -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -g -O2 -Werror -Wall -Werror -D NEW_BUILD -g -O2 -Werror -Wall -Werror -Wl,-z -Wl,relro -o lgss_keyring lgss_keyring-lgss_keyring.o lgss_keyring-context.o lgss_keyring-context_lucid.o lgss_keyring-context_mit.o lgss_keyring-context_heimdal.o lgss_keyring-lgss_krb5_utils.o lgss_keyring-lgss_null_utils.o lgss_keyring-lgss_sk_utils.o lgss_keyring-lgss_utils.o lgss_keyring-lsupport.o lgss_keyring-err_util.o lgss_keyring-sk_utils.o ../../../libcfs/libcfs/libcfs.a -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcrypto -lssl -lm -lkeyutils
libtool: link: gcc -fPIC -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -g -O2 -Werror -Wall -Werror -g -O2 -Werror -Wall -Werror -Wl,-z -Wl,relro -o lgss_sk lgss_sk-lgss_sk.o lgss_sk-err_util.o lgss_sk-sk_utils.o ../../../libcfs/libcfs/libcfs.a -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcrypto -lssl -lm -lkeyutils
libtool: compile: gcc DHAVE_CONFIG_H -I. -I../.. -DHAVE_IOCTL_IN_UNISTD_H -I /work/zfs/lib/libspl/include -I /work/zfs/include -include /tmp/rpmbuild-lustresnZ1QS4z/BUILD/lustre-2.8.55/undef.h -include /tmp/rpmbuild-lustresnZ1QS4z/BUILD/lustre-2.8.55/config.h -I/tmp/rpmbuild-lustresnZ1QS4z/BUILD/lustre-2.8.55/libcfs/include -I/tmp/rpmbuild-lustresnZ1QS4z/BUILD/lustre-2.8.55/lnet/include -I/tmp/rpmbuild-lustre-snZ1QS4z/BUILD/lustre-2.8.55/lustre/include -fPIC -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -g -O2 -Werror -Wall -Werror -c mount_utils_zfs.c -fPIC -DPIC -o .libs/mount_osd_zfs_la-mount_utils_zfs.o
mount_utils_zfs.c: In function 'zfs_set_prop_params':
mount_utils_zfs.c:145:17: error: 'ZFS_MAXNAMELEN' undeclared (first use in this function)
char prop_name[ZFS_MAXNAMELEN];
^
mount_utils_zfs.c:145:17: note: each undeclared identifier is reported only once for each function it appears in
mount_utils_zfs.c:145:7: error: unused variable 'prop_name' [-Werror=unused-variable]
char prop_name[ZFS_MAXNAMELEN];
^
mount_utils_zfs.c: In function 'zfs_get_prop_params':
mount_utils_zfs.c:323:11: error: 'ZFS_MAXNAMELEN' undeclared (first use in this function)
char key[ZFS_MAXNAMELEN];
^
mount_utils_zfs.c:323:7: error: unused variable 'key' [-Werror=unused-variable]
char key[ZFS_MAXNAMELEN];
^
cc1: all warnings being treated as errors
make[5]: *** [mount_osd_zfs_la-mount_utils_zfs.lo] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2

We need to be able to build either lustre master or Tag: 2.8.55 that has large 16MB RPCs to test Lustre Streaming for CORAL. We need to test it with the latest zfs features which are only in zfs master. However, this is blocking CORAL testing.



 Comments   
Comment by John Malmberg (Inactive) [ 11/Jul/16 ]

To get this far, the hack from LU-7863 is applied to the ZFS source provided to Lustre for building.

Current work around is to append the macro definition to the files it was formerly in.

   printf "#define ZFS_MAXNAMELEN (MAXNAMELEN - 1)\n" >> include/sys/zfs_node.h
   printf "#define ZFS_MAXNAMELEN MAXNAMELEN\n" >> include/libzfs.h
Comment by Gerrit Updater [ 11/Jul/16 ]

Christopher J. Morrone (morrone2@llnl.gov) uploaded a new patch: http://review.whamcloud.com/21251
Subject: LU-8386 zfs: Use ZFS_MAXPROPLEN instead of ZFS_MAXNAMELEN
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: f8f01048458e7061181d5238c3f6b40bf09e5892

Comment by Peter Jones [ 12/Jul/16 ]

Nathaniel

Could you please look at this patch?

Thanks

Peter

Comment by Gerrit Updater [ 20/Jul/16 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/21251/
Subject: LU-8386 zfs: Use ZFS_MAXPROPLEN instead of ZFS_MAXNAMELEN
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 7b57a7c836ab209f6f1efb93b0e9ffdc59a25534

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