From 639d7378ce5a049e3e035e77162cc9b1013d4980 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Fri, 29 Dec 2023 22:15:57 -0500 Subject: zfs: update to 2.2.2 In addition to the zfs upstream commits: - This fixes the build against libc-headers/kernel 6.6+ - adds bash-completion packaging, as 2.2.2 has support Bumping zfs to version zfs-2.2.2, which comprises the following commits: 494aaaed8 Tag zfs-2.2.2 522414da3 FreeBSD: Fix ZFS so that snapshots under .zfs/snapshot are NFS visible a8c256046 ZIL: Call brt_pending_add() replaying TX_CLONE_RANGE eb34de04d zdb: fix printf() length for uint64_t devid d813aa853 Linux 6.6 compat: fix configure error with clang (#15558) 3b267e72d zfs-dkms: fix shell-init error message 349fb77f1 FreeBSD: Fix the build on FreeBSD 12 2a953e0ac dmu_buf_will_clone: fix race in transition back to NOFILL e4985bf5a zdb: Fix zdb '-O|-r' options with -e/exported zpool e96675a7b zdb: show BRT statistics and dump its contents d702f86ea brt: lift internal definitions into _impl header 41c4599cb ZTS: Fix zfs_load-key failures on F39 56a2a0981 ZIL: Do not encrypt block pointers in lr_clone_range_t 9b9b09f45 dnode_is_dirty: check dnode and its data for dirtiness 89fcb8c6f Revert "Tune zio buffer caches and their alignments" 55dd24c4c Tag zfs-2.2.1 78287023c ZTS: Fix 'could not unmount datasets' on Alma 9 479dca51c zfs-2.2.1: Disable block cloning by default 87e9e8286 Add a tunable to disable BRT support. 0733fe2aa Packaging: Auto-generate changelog during configure (#15528) fd836dfe2 Linux 6.6 compat: META e92a680c7 Workaround UBSAN errors for variable arrays f1659cc78 ZTS: Test for all known zpool feature sets f863ac3d0 Update zpool-features.7 for grub2 compatibility list updates f6d2e5c07 Workaround to allow openzfs-zfs-dkms install on Ubuntu f2fe4d51a Linux: reject read/write mapping to immutable file only on VM_SHARED 76663fe37 Fix accounting error for pending sync IO ops in zpool iostat 44c8ff9b0 Linux 6.6 compat: fix implicit conversion error with debug build f0ffcc3ad Remove obsolete_counts from grub2 compatibility list e534ba5ce Fix dkms installation of deb packages created with Alien. 1c7048357 Add all read-only compatible zpool features to grub2 compatibility 3ec4ea68d Unify arc_prune_async() code bd7a02c25 Tune zio buffer caches and their alignments e82e68400 DMU: Do not pre-read holes during write 3f67e012e Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() 21875dd09 Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 fe9d409e9 Linux 6.6 compat: use inode_get/set_ctime*(...) 7aef672b7 Read prefetched buffers from L2ARC f9a9aea12 Add mutex_enter_interruptible() for interruptible sleeping IOCTLs 8ba748d41 Revert "zvol: Temporally disable blk-mq" e860cb020 zvol: Remove broken blk-mq optimization 86c3ed40e "ARC prefetch metadata accesses:" appears twice in the output. 6e41aca51 Trust ARC_BUF_SHARED() more 79f7de575 Remove lock from dsl_pool_need_dirty_delay() 0ef1964c7 run-zts test procfs/pool_state failed with uncorrectable I/O failure eaa62d995 Properly pad struct tx_cpu to cache line 8ca95d78c Fix typo in tests/zfs-tests/tests/functional/cli_user/misc/misc.cfg edebca5df FreeBSD: taskq: Remove unused declaration 1cc1bf4fa Set spa_ccw_fail_time=0 when expanding a vdev. 0bcd1151f Fix ZED auto-replace for VDEVs using by-id paths 78fd79eac Add zfs_prepare_disk script for disk firmware install 6d693e20a Large sync writes perform worse with slog b76724ae4 FreeBSD: Improve taskq wrapper 459c99ff2 Fix block cloning between unencrypted and encrypted datasets Signed-off-by: Bruce Ashfield Signed-off-by: Khem Raj --- .../recipes-filesystems/zfs/zfs_2.2.0.bb | 77 ---------------------- .../recipes-filesystems/zfs/zfs_2.2.2.bb | 77 ++++++++++++++++++++++ 2 files changed, 77 insertions(+), 77 deletions(-) delete mode 100644 meta-filesystems/recipes-filesystems/zfs/zfs_2.2.0.bb create mode 100644 meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.0.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.0.bb deleted file mode 100644 index db6f725b6a..0000000000 --- a/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.0.bb +++ /dev/null @@ -1,77 +0,0 @@ -SUMMARY = "OpenZFS on Linux and FreeBSD" -DESCRIPTION = "OpenZFS on Linux and FreeBSD" -LICENSE = "CDDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa" -HOMEPAGE ="https://github.com/openzfs/zfs" - -SRCREV = "229ca7d738ccbf4c55076977467ee93e20b6f01b" -SRC_URI = "git://github.com/openzfs/zfs;protocol=https;branch=zfs-2.2-release \ - file://0001-Define-strndupa-if-it-does-not-exist.patch \ - file://aaf28a4630af60496c9d33db1d06a7d7d8983422.patch \ - file://0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch \ -" - -S = "${WORKDIR}/git" - -# Using both 'module' and 'autotools' classes seems a bit odd, they both -# define a do_compile function. -# That's why we opt for module-base, also this prevents module splitting. -inherit module-base pkgconfig autotools - -DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl curl" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd sysvinit', d)}" - -PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${libdir}/security, --disable-pam" -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd," -PACKAGECONFIG[sysvinit] = "--enable-sysvinit,--disable-sysvinit," - -EXTRA_OECONF:append = " \ - --disable-pyzfs \ - --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \ - --with-mounthelperdir=${base_sbin} \ - --with-udevdir=${base_libdir}/udev \ - --with-systemdunitdir=${systemd_system_unitdir} \ - --with-systemdgeneratordir=${nonarch_base_libdir}/systemd/system-generators \ - --with-systemdpresetdir=${nonarch_base_libdir}/systemd/system-preset \ - --with-systemdmodulesloaddir=${sysconfdir}/module-load.d \ - --without-dracutdir \ -" - -EXTRA_OEMAKE:append = " \ - INSTALL_MOD_PATH=${D}${root_prefix} \ -" - -do_install:append() { - # /usr/share/zfs contains the zfs-tests folder which we do not need: - rm -rf ${D}${datadir}/zfs - - rm -rf ${D}${datadir}/initramfs-tools -} - -FILES:${PN} += "\ - ${nonarch_base_libdir}/modules \ - ${systemd_system_unitdir} \ - ${nonarch_base_libdir}/systemd/system-generators \ - ${nonarch_base_libdir}/systemd/system-preset \ - ${sysconfdir}/modules-load.d/${BPN}.conf \ - ${sysconfdir}/default/${BPN} \ - ${sysconfdir}/sudoers.d/${BPN} \ - ${sysconfdir}/${BPN} \ - ${base_libdir}/udev \ - ${sbindir} \ - ${bindir} \ - ${libexecdir}/${BPN} \ - ${libdir} \ -" - -FILES:${PN}-dev += "\ - ${prefix}/src/zfs-${PV} \ - ${prefix}/src/spl-${PV} \ -" -# Not yet ported to rv32 -COMPATIBLE_HOST:riscv32 = "null" -# conflicting definition of ABS macro from asm/asm.h from kernel -COMPATIBLE_HOST:mips = "null" -# FTBFS on aarch64 with 6.2+ kernel see https://github.com/openzfs/zfs/issues/14555 -COMPATIBLE_HOST:aarch64 = "null" diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb new file mode 100644 index 0000000000..d3ea6797e7 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb @@ -0,0 +1,77 @@ +SUMMARY = "OpenZFS on Linux and FreeBSD" +DESCRIPTION = "OpenZFS on Linux and FreeBSD" +LICENSE = "CDDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa" +HOMEPAGE ="https://github.com/openzfs/zfs" + +SRCREV = "494aaaed89cb9fe9f2da3b6c6f465a4bc9f6a7e1" +SRC_URI = "git://github.com/openzfs/zfs;protocol=https;branch=zfs-2.2-release \ + file://0001-Define-strndupa-if-it-does-not-exist.patch \ + file://aaf28a4630af60496c9d33db1d06a7d7d8983422.patch \ + file://0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch \ +" + +S = "${WORKDIR}/git" + +# Using both 'module' and 'autotools' classes seems a bit odd, they both +# define a do_compile function. +# That's why we opt for module-base, also this prevents module splitting. +inherit module-base pkgconfig autotools bash-completion + +DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl curl" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd sysvinit', d)}" + +PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${libdir}/security, --disable-pam" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd," +PACKAGECONFIG[sysvinit] = "--enable-sysvinit,--disable-sysvinit," + +EXTRA_OECONF:append = " \ + --disable-pyzfs \ + --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \ + --with-mounthelperdir=${base_sbin} \ + --with-udevdir=${base_libdir}/udev \ + --with-systemdunitdir=${systemd_system_unitdir} \ + --with-systemdgeneratordir=${nonarch_base_libdir}/systemd/system-generators \ + --with-systemdpresetdir=${nonarch_base_libdir}/systemd/system-preset \ + --with-systemdmodulesloaddir=${sysconfdir}/module-load.d \ + --without-dracutdir \ +" + +EXTRA_OEMAKE:append = " \ + INSTALL_MOD_PATH=${D}${root_prefix} \ +" + +do_install:append() { + # /usr/share/zfs contains the zfs-tests folder which we do not need: + rm -rf ${D}${datadir}/zfs + + rm -rf ${D}${datadir}/initramfs-tools +} + +FILES:${PN} += "\ + ${nonarch_base_libdir}/modules \ + ${systemd_system_unitdir} \ + ${nonarch_base_libdir}/systemd/system-generators \ + ${nonarch_base_libdir}/systemd/system-preset \ + ${sysconfdir}/modules-load.d/${BPN}.conf \ + ${sysconfdir}/default/${BPN} \ + ${sysconfdir}/sudoers.d/${BPN} \ + ${sysconfdir}/${BPN} \ + ${base_libdir}/udev \ + ${sbindir} \ + ${bindir} \ + ${libexecdir}/${BPN} \ + ${libdir} \ +" + +FILES:${PN}-dev += "\ + ${prefix}/src/zfs-${PV} \ + ${prefix}/src/spl-${PV} \ +" +# Not yet ported to rv32 +COMPATIBLE_HOST:riscv32 = "null" +# conflicting definition of ABS macro from asm/asm.h from kernel +COMPATIBLE_HOST:mips = "null" +# FTBFS on aarch64 with 6.2+ kernel see https://github.com/openzfs/zfs/issues/14555 +COMPATIBLE_HOST:aarch64 = "null" -- cgit v1.2.3-54-g00ecf