[LU-6152] zfs large block support Created: 23/Jan/15  Updated: 01/Jul/16  Resolved: 12/May/15

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

Type: Improvement Priority: Minor
Reporter: Minh Diep Assignee: Nathaniel Clark
Resolution: Fixed Votes: 0
Labels: llnl, patch, zfs

Attachments: Text File zfs-build-diff.txt    
Issue Links:
Related
is related to LU-6038 ZFS 0.6.4 Compatibility Resolved
is related to LU-4865 osd-zfs: increase object block size d... Resolved
Rank (Obsolete): 17205

 Description   

upstream zfs is about to land large block support (> 128k). see https://github.com/zfsonlinux/zfs/pull/2865

Lustre need to change to be able to compile with zfs.



 Comments   
Comment by Gerrit Updater [ 28/Jan/15 ]

Brian Behlendorf (behlendorf1@llnl.gov) uploaded a new patch: http://review.whamcloud.com/13544
Subject: LU-6152 osd-zfs: ZFS large block compat
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: f5bab98f77036493bd96c2b05a19247d15fab328

Comment by Rick Wagner (Inactive) [ 29/Jan/15 ]

When installing RPMs built with patch and linked against the ZFS on Linux master built with the [large block patch https://github.com/zfsonlinux/zfs/pull/2865], I'm receiving the following warning. I have not tested the Lustre build, but I'm suspicious that I'm about to see errors.

  Installing : lustre-osd-zfs-2.6.92-3.10.65_g98c5043.x86_64
WARNING: /lib/modules/3.10.65/extra/kernel/fs/lustre/osd_zfs.ko needs unknown symbol spa_maxblocksize
Comment by Rick Wagner (Inactive) [ 29/Jan/15 ]

Confirmed. After successfully mounting a ZFS-backed MDT, attempting to mount a ZFS-backed OST gives the following error and related dmesg output

[root@seahorse-oss-19-2 ~]# mount -t lustre ost0/ost0 /mnt/ost0
mount.lustre: mount ost0/ost0 at /mnt/ost0 failed: No such device
Are the lustre modules loaded?
Check /etc/modprobe.conf and /proc/filesystems
osd_zfs: Unknown symbol spa_maxblocksize (err 0)
osd_zfs: Unknown symbol spa_maxblocksize (err 0)
LustreError: 158-c: Can't load module 'osd-zfs'
LustreError: Skipped 1 previous similar message
LustreError: 15813:0:(genops.c:312:class_newdev()) OBD: unknown type: osd-zfs
LustreError: 15813:0:(genops.c:312:class_newdev()) Skipped 1 previous similar message
LustreError: 15813:0:(obd_config.c:369:class_attach()) Cannot create device ddragon-OST0000-osd of type osd-zfs : -19
LustreError: 15813:0:(obd_config.c:369:class_attach()) Skipped 1 previous similar message
LustreError: 15813:0:(obd_mount.c:199:lustre_start_simple()) ddragon-OST0000-osd attach error -19
LustreError: 15813:0:(obd_mount.c:199:lustre_start_simple()) Skipped 1 previous similar message
LustreError: 15813:0:(obd_mount_server.c:1750:server_fill_super()) Unable to start osd on ost0/ost0: -19
LustreError: 15813:0:(obd_mount_server.c:1750:server_fill_super()) Skipped 1 previous similar message
LustreError: 15813:0:(obd_mount.c:1340:lustre_fill_super()) Unable to mount  (-19)
LustreError: 15813:0:(obd_mount.c:1340:lustre_fill_super()) Skipped 1 previous similar message
Comment by Rick Wagner (Inactive) [ 29/Jan/15 ]

A diff of the currents state of my source tree and the configure and build commands. I'm going to look at the LB_CHECK_COMPILE macro.

$ ./configure --with-zfs=/usr/src/zfs-0.6.3 --with-spl=/usr/src/spl-0.6.3 --with-linux=/usr/src/linux-3.10 --without-ldiskfs  --with-linux-config=/boot/config-3.10.65 
$ make rpms
Comment by Rick Wagner (Inactive) [ 29/Jan/15 ]

The config step did not detect spa_maxblocksize, so the LB_CHECK_COMPILE macro is failing. Next step is for me is to see if config and my build of ZFS are correct.

configure:26062: checking if zfs defines spa_maxblocksize
WARNING: "spa_maxblocksize" [/home/build/lustre-release/build/conftest.ko] undefined!
lb_cv_compile_spa_maxblocksize=yes
Comment by Rick Wagner (Inactive) [ 29/Jan/15 ]

I believe I found the issue: spa_maxblocksize was not exported in spa_misc.c from ZFS. I've rebuilt ZFS and successfully mount a ZFS-backed MDT and OST. I'll drop an issue at the GitHub ZFS repo.

Comment by Gerrit Updater [ 09/May/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/13544/
Subject: LU-6152 osd-zfs: ZFS large block compat
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: bc9eae65f0880e5ae781d373f843d2c76f263714

Comment by Peter Jones [ 12/May/15 ]

Landed for 2.8

Comment by Gerrit Updater [ 19/May/15 ]

Ned Bass (bass6@llnl.gov) uploaded a new patch: http://review.whamcloud.com/14870
Subject: LU-6152 osd-zfs: ZFS large block compat
Project: fs/lustre-release
Branch: b2_5
Current Patch Set: 1
Commit: 77e4232d20444261dbca12f288036beb6834f05a

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