[LU-6038] ZFS 0.6.4 Compatibility Created: 17/Dec/14  Updated: 01/Jul/16  Resolved: 03/Mar/15

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

Type: Bug Priority: Critical
Reporter: Brian Behlendorf Assignee: Nathaniel Clark
Resolution: Fixed Votes: 0
Labels: patch, zfs

Issue Links:
Blocker
is blocking LU-6477 Update ZFS/SPL version to 0.6.4.1 Resolved
Related
is related to LU-6152 zfs large block support Resolved
is related to LU-5826 build broken by new spl includes Resolved
is related to LU-6149 build broken by latest spl Resolved
is related to LU-6459 Backport ZFS on Linux 0.6.4 compat ch... Resolved
Severity: 3
Rank (Obsolete): 16830

 Description   

The following pull requests are targeted to be merged for the spl/zfs-0.6.4 tag.

https://github.com/zfsonlinux/spl/pull/414
https://github.com/zfsonlinux/zfs/pull/2918

This is important from a Lustre perspective because they 1) retire the sa_spill_alloc() / sa_spill_free() interfaces currently used by Lustre in favor of the more memory efficient zio_buf_alloc() / zio_buf_free(). And 2) they define KM_SLEEP which shouldn't have caused any problems but Lustre makes some assumptions about how it's defined.

Lustre must be updated to use the new interfaces, I'll be posting patches for this shortly.



 Comments   
Comment by Gerrit Updater [ 17/Dec/14 ]

Brian Behlendorf (behlendorf1@llnl.gov) uploaded a new patch: http://review.whamcloud.com/13096
Subject: LU-6038 osd-zfs: Avoid redefining KM_SLEEP
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: db14a58430bd16d9d3b0ba1cd9a0a8905c70c692

Comment by Gerrit Updater [ 17/Dec/14 ]

Brian Behlendorf (behlendorf1@llnl.gov) uploaded a new patch: http://review.whamcloud.com/13097
Subject: LU-6038 osd-zfs: sa_spill_alloc()/sa_spill_free() compat
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 048647bcb4f1bad273af4c825b348fce7bce9275

Comment by Peter Jones [ 17/Dec/14 ]

Nathaniel

Could you please review this patch?

Thanks

Peter

Comment by Andreas Dilger [ 17/Dec/14 ]

Brian, just to confirm - these patches allow building with both 0.6.3 and 0.6.4? I see a configure check for the second patch, but not the first one.

Comment by Brian Behlendorf [ 17/Dec/14 ]

Yes, they allow Lustre to build with 0.6.3 or 0.6.4. The reason a configure check wasn't needed for the KM_SLEEP issue is because there wasn't a visible interface change there. Lustre was making some dangerous assumptions about what KM_SLEEP was defined to. The proposed patch fixes the original build issue and removes those assumptions on the Lustre side so no configure check was needed.

Comment by Brian Behlendorf [ 11/Feb/15 ]

http://review.whamcloud.com/#/c/13096/ is ready to be merged.

http://review.whamcloud.com/#/c/13097/ is close behind but it is running through maloo again due to a provisioning glitch in the test framework.

Comment by Gerrit Updater [ 03/Mar/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/13096/
Subject: LU-6038 osd-zfs: Avoid redefining KM_SLEEP
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 5a758a40de3b6b4e0aeb082195f61d86536233d2

Comment by Gerrit Updater [ 03/Mar/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/13097/
Subject: LU-6038 osd-zfs: sa_spill_alloc()/sa_spill_free() compat
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: c994fc0df788928c18485be34b28f40c34538ee8

Comment by Peter Jones [ 03/Mar/15 ]

Landed for 2.8

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