Whamcloud - gitweb
LU-17662 osd-zfs: Support for ZFS 2.2.3 36/59136/2
authorShaun Tancheff <shaun.tancheff@hpe.com>
Wed, 7 May 2025 19:28:35 +0000 (12:28 -0700)
committerOleg Drokin <green@whamcloud.com>
Wed, 21 May 2025 03:42:22 +0000 (03:42 +0000)
commit8e2a8c157deac80bb4fa30fd4e74673ef2c1fc17
tree44fae0b42569c79aaa42907420ad52f6657af494
parentd537f3c776148cb632be695648ebf854b5a57281
LU-17662 osd-zfs: Support for ZFS 2.2.3

ZFS commit zfs-2.2.99-269-g9b1677fb5
   dmu: Allow buffer fills to fail
Adds a boolean_t to dmu_buf_will_fill() and dmu_buf_fill_done()

Lustre always uses B_FALSE for this argument.

Also re-arrange and split some configure macros so we can all
the zfs and ldiskfs tests can be run in the same parallel pass.

Lustre-change: https://review.whamcloud.com/54530
Lustre-commit: a13fc434c57fd72e5f8908a8a197fca1a0d373e5

Was-Change-Id: I71a4723bfa8ce62ae6f270e26ab149bf98278d3f

LU-18515 build: fix configure checks for ZFS 2.2.3

These config checks were missing certain headers. Thus,
the checks failed which caused the build to also fail when
trying to compile against ZFS 2.3.0+.

Lustre-change: https://review.whamcloud.com/57452
Lustre-commit: d33e96cdd472f76d56f0e543cb1b3afb07785e54

Was-Change-Id: I8e231f0c4581f435cb4209c767fc4727cb6cbfa0

Fixes: a13fc434c57f ("LU-17662 osd-zfs: Support for ZFS 2.2.3")
Signed-off-by: Timothy Day <timday@amazon.com>
LU-16664 build: Debian server fails building crypto.c

When building deb files against a server built without
CONFIG_FS_ENCRYPTION it still attempts to build crypto.c
when it should not.

Lustre-change: https://review.whamcloud.com/50406
Lustre-commit: 71746b6277a59ede2110420f5907fe2dafd9ac2a

Was-Change-Id: Id1e67daa7b021fdfee49be4eb0beb2b86ca62c39

Fixes: 068e5f13fb ("LU-13743 build: Explicitly require encryption support")

LU-13743 build: Explicitly require encryption support

Linux commit v5.18-rc5-17-gb1241c8eb977
  ext4: move ext4 crypto code to its own file crypto.c

Update the ldiskfs Makefile to exclude crypto.c when
CONFIG_FS_ENCRYPTION is not enabled.

Lustre-change: https://review.whamcloud.com/39243
Lustre-commit: 068e5f13fb94802ced68712ee11e7f9cb106d0ae

Was-Change-Id: Ic8a40f3d395286bb52ed20693fd7cc4755b10556

LU-13485 ldiskfs: Parallel configure tests for ldiskfs

Transform the compile tests in ldiskfs to run in parallel

Lustre-change: https://review.whamcloud.com/38351
Lustre-commit: 3774b6afbe3b67e869bb61c9cb212cc37e8705fa

Was-Change-Id: I3a097ab5cd18b57e9311980d9aa708ed25f58464

LU-6142 misc: update headers in config, debian, rpm

Update the file header to have the SPDX license and
use the standard format.

Fix minor style issues with comments in a few files.
Remove `dnl` from m4 files.

Files that are uncertain are left as NOASSERTION
for the license identifier. This makes no claim
about the file. It is used to track files so they
can be addressed later.

https://spdx.github.io/spdx-spec/v2-draft/package-information/#75-package-supplier-field

Lustre-change: https://review.whamcloud.com/52106
Lustre-commit: f89529a06ed2cf6e3a02df6093e047d4d7da15ea

Was-Change-Id: I212ce05a4292bbb0d71372d9d75880ce45a219f3

Signed-off-by: Timothy Day <timday@amazon.com>
LU-13530 build: Add kernel version to depmod

The depmod commands in the postrm and
postinst scripts should use the kernel
version the package is built against.
Otherwise, depmod will use the current
kernel version - which might be different.

This patch also adds a line indicating that
the file has been modified.

Lustre-change: https://review.whamcloud.com/49573
Lustre-commit: 98338572a671e1a9c227a8589f7a9b5972b924bf

Was-Change-Id: I355420a85ea0ed301433816588758197795b5ede

Signed-off-by: Timothy Day <timday@amazon.com>
LU-13906 build: Conditionally require kmod-zfs-devel

Server with zfs support requires either kmod-zfs-devel
or a configure that points to the required headers and
library files via configure.

Here we check the configure arguments for '--with-zfs-obj='
if the zfs path is specified for configure the package
requirement is not needed.

Otherwise require the kmod-zfs-devel package and require
one of libzfs-devel, libzfs4-devel or libzfs5-devel

Lustre-change: https://review.whamcloud.com/46356
Lustre-commit: 77d01c485e00468b2ef6e3eb64544d30c049a411

HPE-bug-id: LUS-9743, LUS-10363
Was-Change-Id: Ia12239ac7e3912ff50ec7c8e2ceb888862afbc34

LU-17171 test: improve sanity-quota test_41

On zfs backend, df result of project quota may print be a slightly
larger block used than quota result because the former is calcuated
in filesystem block size which is 4K.

Update sanity-quota test_41 to make it more robust.

Lustre-change: https://review.whamcloud.com/52591
Lustre-commit: a504f2c869bada922c6211822be432b253921096

Was-Change-Id: Ide51d9aaeb8907eb77acc30fa4fc76dcc16e8de0

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
LU-16743 lod: create stripe with correct attr

lod_xattr_set_lmv() create directory stripe with master object attr,
but it shouldn't change attr->la_valid, otherwise bogus data may be
set on stripe object.

Zfs osd_create() copies attr to object directly, clear la_flags if
LA_FLAGS is not set in la_valid.

Lustre-change: https://review.whamcloud.com/52052
Lustre-commit: 6be9476e790ceef71e874b2745a8280443d5c90b

Was-Change-Id: I8385f36bd2eee0e55cbe6bd031b0e013cda40e06

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Test-Parameters: trivial fstype=zfs
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
  clientdistro=el9.5 serverdistro=el8.10 testgroup=full-dne-zfs-part-1
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
  clientdistro=el9.5 serverdistro=el8.10 testgroup=full-dne-zfs-part-2
Test-Parameters: optional fstype=zfs mdtcount=4 mdscount=2 \
  clientdistro=el9.5 serverdistro=el8.10 testgroup=full-dne-zfs-part-3

Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I71a4723bfa8ce62ae6f270e26ab149bf98278d3f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/59136
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
21 files changed:
config/Makefile.am
config/lustre-build-ldiskfs.m4
config/lustre-build-linux.m4
config/lustre-build-zfs.m4
config/lustre-build.m4
config/lustre-version.m4
debian/dkms.conf.in
debian/lustre-client-modules-dkms.postinst
debian/lustre-client-modules-dkms.prerm
debian/postinst
debian/postrm
debian/rules
ldiskfs/Makefile.in
lustre.spec.in
lustre/lod/lod_object.c
lustre/osd-zfs/osd_io.c
lustre/osd-zfs/osd_object.c
lustre/tests/sanity-quota.sh
rpm/find-provides
rpm/find-provides.ksyms
rpm/kmp-lustre-osd-zfs.preamble