Don't use 0.7.10, it has a serious bug. Use 0.7.12 instead. Cheers, Andreas
> On Sep 24, 2018, at 21:39, Riccardo Veraldi <[email protected]> > wrote: > > as for me Lustre 2.10.5 is not building on ZFS 0.7.10 > of course it builds fine with ZFS 0.7.9 > > CC: gcc > LD: /usr/bin/ld -m elf_x86_64 > CPPFLAGS: -include /root/rpmbuild/BUILD/lustre-2.10.5/undef.h -include > /root/rpmbuild/BUILD/lustre-2.10.5/config.h > -I/root/rpmbuild/BUILD/lustre-2.10.5/libcfs/include > -I/root/rpmbuild/BUILD/lustre-2.10.5/lnet/include > -I/root/rpmbuild/BUILD/lustre-2.10.5/lustre/include > -I/root/rpmbuild/BUILD/lustre-2.10.5/lustre/include/uapi > CFLAGS: -g -O2 -Werror -Wall -Werror > EXTRA_KCFLAGS: -include /root/rpmbuild/BUILD/lustre-2.10.5/undef.h -include > /root/rpmbuild/BUILD/lustre-2.10.5/config.h -g > -I/root/rpmbuild/BUILD/lustre-2.10.5/libcfs/include > -I/root/rpmbuild/BUILD/lustre-2.10.5/lnet/include > -I/root/rpmbuild/BUILD/lustre-2.10.5/lustre/include > > Type 'make' to build Lustre. > + make -j2 -s > Making all in . > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_object.c: In function > '__osd_attr_init': > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_object.c:1292:2: error: > unknown type name 'timestruc_t' > timestruc_t now; > ^ > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_object.c:1302:2: error: > passing argument 1 of 'gethrestime' from incompatible pointer type [-Werror] > gethrestime(&now); > ^ > In file included from > /var/lib/dkms/spl/0.7.10/source/include/sys/condvar.h:34:0, > from /var/lib/dkms/spl/0.7.10/source/include/sys/t_lock.h:31, > from > /var/lib/dkms/zfs/0.7.10/source/include/sys/zfs_context.h:35, > from /var/lib/dkms/zfs/0.7.10/source/include/sys/arc.h:30, > from > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_internal.h:49, > from > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_object.c:50: > /var/lib/dkms/spl/0.7.10/source/include/sys/time.h:70:1: note: expected > 'struct inode_timespec_t *' but argument is of type 'int *' > gethrestime(inode_timespec_t *ts) > ^ > In file included from > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_internal.h:51:0, > from > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_object.c:50: > /var/lib/dkms/zfs/0.7.10/source/include/sys/zfs_znode.h:278:28: error: > request for member 'tv_sec' in something not a structure or union > (stmp)[0] = (uint64_t)(tp)->tv_sec; \ > ^ > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_object.c:1303:2: note: > in expansion of macro 'ZFS_TIME_ENCODE' > ZFS_TIME_ENCODE(&now, crtime); > ^ > /var/lib/dkms/zfs/0.7.10/source/include/sys/zfs_znode.h:279:28: error: > request for member 'tv_nsec' in something not a structure or union > (stmp)[1] = (uint64_t)(tp)->tv_nsec; \ > ^ > /root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_object.c:1303:2: note: > in expansion of macro 'ZFS_TIME_ENCODE' > ZFS_TIME_ENCODE(&now, crtime); > ^ > cc1: all warnings being treated as errors > make[6]: *** [/root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs/osd_object.o] > Error 1 > make[5]: *** [/root/rpmbuild/BUILD/lustre-2.10.5/lustre/osd-zfs] Error 2 > make[5]: *** Waiting for unfinished jobs.... > make[4]: *** [/root/rpmbuild/BUILD/lustre-2.10.5/lustre] Error 2 > make[3]: *** [_module_/root/rpmbuild/BUILD/lustre-2.10.5] Error 2 > make[2]: *** [modules] Error 2 > make[1]: *** [all-recursive] Error 1 > make: *** [all] Error 2 > error: Bad exit status from /var/tmp/rpm-tmp.IeEkol (%build) > > > >> On 9/24/18 9:14 AM, Tung-Han Hsieh wrote: >> Dear Nathaniel, >> >> Thank you very much for your kindly reply. Indeed I modified the >> lustre-2.10.5 codes: >> >> lustre/osd-zfs/osd_object.c >> lustre/osd-zfs/osd_xattr.c >> >> for the declaration: >> >> inode_timespec_t now; >> >> Similar to what you have done in your patch. So I can compile >> lustre-2.10.5 cleanly with zfs-0.7.11. Sorry I forgot to mention. >> >> But my problem is still there. Actually I just tried: >> >> 1. Applying your patch to the original lustre-2.10.5 code, and >> recompile with spl-0.7.11 and zfs-0.7.11. But loading "lustre" >> module still gives "no such device" error. >> >> 2. I recompile the original lustre-2.10.5 with spl-0.7.9 and >> zfs-0.7.9. They can be compiled cleanly. But again I got the >> "no such device" error when loading "lustre" module. >> >> I am wondering that I must overlooked a trivial step, something >> like one (or some) of the utilities in /opt/lustre/sbin/* should >> be linked to /sbin/ or /usr/sbin/ .... >> >> Any suggestions are very appreciated. >> >> Thank you very much. >> >> >> T.H.Hsieh >> >> >>> On Mon, Sep 24, 2018 at 01:21:19PM +0000, Nathaniel Clark wrote: >>> Hello Tung-Han, >>> >>> ZFS 0.7.11 doesn’t compile cleanly with Lustre, yet. >>> >>> There’s a ticket for adding ZFS 0.7.11 support to lustre: >>> https://jira.whamcloud.com/browse/LU-11393 >>> >>> It has patches for master (pre-2.12) and a separate patch for 2.10. >>> >>> — >>> Nathaniel Clark <[email protected]<mailto:[email protected]>> >>> Senior Engineer >>> Whamcloud / DDN >>> >>> On Sep 24, 2018, at 2:15 PM, Tung-Han Hsieh >>> <[email protected]<mailto:[email protected]>> wrote: >>> >>> Dear All, >>> >>> I am trying to install Lustre version 2.10.5 with ZFS-0.7.11 >>> from source code. After compilation and installation, I tried >>> to load the "lustre" module, but encountered the following >>> error: >>> >>> # modprobe lustre >>> could not load module 'lustre': no such device >>> >>> My procedure of installation is the following: >>> >>> 1. Compile vanilla kernel 3.12.72 downloaded from: >>> https://mirrors.edge.kernel.org/pub/linux/kernel/v3.x/linux-3.12.72.tar.gz >>> >>> 2. Compile spl-0.7.11 downloaded from: >>> >>> https://github.com/zfsonlinux/zfs/releases/download/zfs-0.7.11/spl-0.7.11.tar.gz >>> >>> with the following steps: >>> # ./configure --prefix=/opt/lustre --with-linux=/path/to/linux-3.12.72 >>> # make >>> # make install >>> >>> 3. Compile zfs-0.7.11 downloaded from: >>> >>> https://github.com/zfsonlinux/zfs/releases/download/zfs-0.7.11/zfs-0.7.11.tar.gz >>> >>> with the following steps: >>> # ./configure --prefix=/opt/lustre \ >>> --with-linux=/path/to/linux-3.12.72 \ >>> --with-spl=/path/to/spl-0.7.11 >>> # make >>> # make install >>> >>> 4. Compile lustre downloaded from: >>> >>> https://downloads.whamcloud.com/public/lustre/lustre-2.10.5/sles12sp3/client/SRPMS/lustre-2.10.5-1.src.rpm >>> >>> Then I unpack the SRPM by the command: >>> # rpm2cpio lustre-2.10.5-1.src.rpm | cpio --extract --make-directories >>> >>> and compile it by the following: >>> # ./configure --prefix=/opt/lustre \ >>> --with-linux=/path/to/linux-3.12.72 \ >>> --with-spl=/path/to/spl-0.7.11 \ >>> --with-zfs=/path/to/zfs-0.7.11 \ >>> --with-o2ib=no \ >>> --disable-ldiskfs >>> # make >>> # make install >>> >>> 5. I have made sure the following settings and utilities are correct: >>> - PATH contains /opt/lustre/bin and /opt/lustre/sbin >>> - /sbin/mount.lustre exists. >>> - /sbin/mount.zfs exists. >>> - /usr/sbin/l_getidentity exists. >>> - /usr/sbin/ko2iblnd-probe exists. >>> - /etc/modprobe.d/lustre.conf contains: >>> options lnet networks=tcp >>> - /etc/modprobe.d/ko2iblnd.conf contains: >>> alias ko2iblnd-opa ko2iblnd >>> options ko2iblnd-opa peer_credits=128 peer_credits_hiw=64 credits=1024 >>> concurrent_sends=256 ntx=2048 map_on_demand=32 fmr_pool_size=2048 >>> fmr_flush_trigger=512 fmr_cache=1 >>> install ko2iblnd /usr/sbin/ko2iblnd-probe >>> >>> Then I tried to run "modprobe lustre", it says "no such device" error. >>> >>> I tried to replace Lustre-2.10.5 by Lustre-2.9 downloaded from: >>> >>> https://downloads.whamcloud.com/public/lustre/lustre-2.9.0/sles12sp1/client/SRPMS/lustre-2.9.0-1.src.rpm >>> >>> and proceed exactly the same installation steps. Everything works fine. >>> >>> Could anyone suggest me what have I missed for lustre-2.10.5 ? Or suggest >>> me how to debug. >>> >>> Thanks very much. >>> >>> >>> T.H.Hsieh >>> _______________________________________________ >>> lustre-discuss mailing list >>> [email protected] >>> http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org >>> >> _______________________________________________ >> lustre-discuss mailing list >> [email protected] >> http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org > > > _______________________________________________ > lustre-discuss mailing list > [email protected] > http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org _______________________________________________ lustre-discuss mailing list [email protected] http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
