The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=7b5b0f43eb061f3af5c862ce8dc38d1be44fc287
commit 7b5b0f43eb061f3af5c862ce8dc38d1be44fc287 Author: Martin Matuska <[email protected]> AuthorDate: 2025-11-18 11:44:03 +0000 Commit: Colin Percival <[email protected]> CommitDate: 2025-11-19 21:36:55 +0000 zfs: merge openzfs/zfs@099f69ff5 (zfs-2.4-release) into stable/15 OpenZFS 2.4.0 rc4 Notable upstream pull request merges: #17477 1e8c96d7d Add knob to disable slow io notifications #17792 5582e8b08 Update dnode_next_offset_level to accept blkid instead of offset #17872 584762617 Pass flags to more DMU write/hold functions #17875 178a8be21 BRT: Round bv_entcount up to BRT_BLOCKSIZE #17875 e3acd0a72 Fix caching of DDT log and BRT #17877 67fc49433 Cleanup ZIO_FLAG_IO_RETRY vs TRYHARD usage #17824 dda711dbb Fix gang write late_arrival bug #17890 41878d57e Add BRT support to zpool prefetch command #17903 aaf374bd4 ZIO: Set minimum number of free issue threads to 32 #17906 ac0bc4cc0 spa_misc: add an API for spa_namespace_lock #17908 583db4003 FreeBSD: Add support for _PC_CASE_INSENSITIVE #17911 -multiple Update library ABI versions for v2.4.0 #17915 e305c7d59 BRT: Fix ranges to blocks conversion math #17916 002bc3da6 BRT: Increase block size from 4KB to 8KB #17921 e895c7619 ZAP: Remove dmu_object_info_from_dnode() call Approved by: re (cperciva) Obtained from: OpenZFS OpenZFS commit: 099f69ff5d3df7988632039db7ad6d183eb34042 OpenZFS tag: zfs-2.4.0-rc4 (cherry picked from commit 155d5b8a19baa864ebe9d8346d932bd04ea23aca) --- .../.github/workflows/scripts/generate-ci-type.py | 10 +- .../.github/workflows/scripts/qemu-2-start.sh | 20 +- .../.github/workflows/zfs-qemu-packages.yml | 2 +- sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 38 ++- sys/contrib/openzfs/.mailmap | 8 + sys/contrib/openzfs/AUTHORS | 14 + sys/contrib/openzfs/META | 2 +- sys/contrib/openzfs/README.md | 2 +- sys/contrib/openzfs/autogen.sh | 61 +---- sys/contrib/openzfs/cmd/zdb/zdb.c | 8 +- sys/contrib/openzfs/cmd/zfs/zfs_project.c | 36 ++- sys/contrib/openzfs/cmd/zpool/zpool_main.c | 34 ++- sys/contrib/openzfs/cmd/ztest.c | 39 +-- sys/contrib/openzfs/config/deb.am | 8 +- sys/contrib/openzfs/contrib/debian/Makefile.am | 8 +- sys/contrib/openzfs/contrib/debian/clean | 4 +- sys/contrib/openzfs/contrib/debian/control | 26 +- .../{openzfs-libzfs6.docs => openzfs-libzfs7.docs} | 0 ...bzfs6.install.in => openzfs-libzfs7.install.in} | 0 ...enzfs-libzpool6.docs => openzfs-libzpool7.docs} | 0 ...ol6.install.in => openzfs-libzpool7.install.in} | 0 .../openzfs/include/os/freebsd/spl/sys/mod.h | 3 + sys/contrib/openzfs/include/sys/brt.h | 1 + sys/contrib/openzfs/include/sys/brt_impl.h | 2 +- sys/contrib/openzfs/include/sys/dmu.h | 8 +- sys/contrib/openzfs/include/sys/fs/zfs.h | 4 +- sys/contrib/openzfs/include/sys/spa.h | 14 +- sys/contrib/openzfs/include/sys/vdev_impl.h | 1 + sys/contrib/openzfs/include/sys/zfs_project.h | 10 +- sys/contrib/openzfs/lib/libnvpair/Makefile.am | 2 +- sys/contrib/openzfs/lib/libspl/include/Makefile.am | 1 + .../openzfs/lib/libspl/include/os/linux/sys/vfs.h | 33 +++ .../openzfs/lib/libspl/include/sys/tunables.h | 12 +- sys/contrib/openzfs/lib/libuutil/libuutil.abi | 69 ----- sys/contrib/openzfs/lib/libzfs/Makefile.am | 2 +- sys/contrib/openzfs/lib/libzfs/libzfs.abi | 83 +----- sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c | 2 + sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 8 +- sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c | 5 +- .../openzfs/lib/libzfs/os/linux/libzfs_util_os.c | 37 +++ .../openzfs/lib/libzfs_core/libzfs_core.abi | 70 +---- .../openzfs/lib/libzfsbootenv/libzfsbootenv.abi | 2 +- sys/contrib/openzfs/lib/libzpool/Makefile.am | 2 +- sys/contrib/openzfs/lib/libzpool/kernel.c | 4 +- sys/contrib/openzfs/man/man4/zfs.4 | 42 ++- sys/contrib/openzfs/man/man7/vdevprops.7 | 8 +- sys/contrib/openzfs/man/man7/zpoolconcepts.7 | 5 + sys/contrib/openzfs/man/man8/zfs-jail.8 | 79 +++--- sys/contrib/openzfs/man/man8/zfs-rewrite.8 | 22 +- sys/contrib/openzfs/man/man8/zpool-events.8 | 73 ++++-- sys/contrib/openzfs/man/man8/zpool-prefetch.8 | 27 +- sys/contrib/openzfs/module/Kbuild.in | 3 +- sys/contrib/openzfs/module/Makefile.bsd | 24 -- sys/contrib/openzfs/module/os/freebsd/zfs/dmu_os.c | 5 +- sys/contrib/openzfs/module/os/freebsd/zfs/spa_os.c | 10 +- .../openzfs/module/os/freebsd/zfs/vdev_label_os.c | 8 +- .../openzfs/module/os/freebsd/zfs/zfs_acl.c | 3 +- .../openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c | 4 +- .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 20 +- .../openzfs/module/os/freebsd/zfs/zio_crypt.c | 2 + .../openzfs/module/os/freebsd/zfs/zvol_os.c | 12 +- sys/contrib/openzfs/module/os/linux/zfs/zfs_acl.c | 3 +- .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 3 +- sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 93 +++++-- sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 6 +- sys/contrib/openzfs/module/zcommon/zpool_prop.c | 3 + sys/contrib/openzfs/module/zfs/arc.c | 8 +- sys/contrib/openzfs/module/zfs/bpobj.c | 7 +- sys/contrib/openzfs/module/zfs/bptree.c | 9 +- sys/contrib/openzfs/module/zfs/brt.c | 48 +++- sys/contrib/openzfs/module/zfs/dbuf.c | 5 +- sys/contrib/openzfs/module/zfs/ddt_log.c | 7 +- sys/contrib/openzfs/module/zfs/dmu.c | 27 +- sys/contrib/openzfs/module/zfs/dmu_redact.c | 6 +- sys/contrib/openzfs/module/zfs/dnode.c | 156 +++++------- sys/contrib/openzfs/module/zfs/metaslab.c | 8 +- sys/contrib/openzfs/module/zfs/mmp.c | 4 +- sys/contrib/openzfs/module/zfs/spa.c | 281 +++++++++++++-------- sys/contrib/openzfs/module/zfs/spa_checkpoint.c | 2 +- sys/contrib/openzfs/module/zfs/spa_config.c | 8 +- sys/contrib/openzfs/module/zfs/spa_history.c | 5 +- sys/contrib/openzfs/module/zfs/spa_misc.c | 110 +++++--- sys/contrib/openzfs/module/zfs/space_map.c | 2 +- sys/contrib/openzfs/module/zfs/vdev.c | 86 +++++-- .../openzfs/module/zfs/vdev_indirect_births.c | 2 +- .../openzfs/module/zfs/vdev_indirect_mapping.c | 5 +- sys/contrib/openzfs/module/zfs/vdev_initialize.c | 8 +- sys/contrib/openzfs/module/zfs/vdev_label.c | 33 +-- sys/contrib/openzfs/module/zfs/vdev_raidz.c | 2 +- sys/contrib/openzfs/module/zfs/vdev_rebuild.c | 4 +- sys/contrib/openzfs/module/zfs/vdev_removal.c | 20 +- sys/contrib/openzfs/module/zfs/vdev_trim.c | 12 +- sys/contrib/openzfs/module/zfs/zap_micro.c | 4 +- sys/contrib/openzfs/module/zfs/zfs_fm.c | 9 +- sys/contrib/openzfs/module/zfs/zfs_fuid.c | 2 +- sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 41 +-- sys/contrib/openzfs/module/zfs/zio.c | 13 +- sys/contrib/openzfs/module/zfs/zio_inject.c | 8 +- sys/contrib/openzfs/module/zfs/zvol.c | 9 +- .../openzfs/module/zstd/include/aarch64_compat.h | 38 --- .../openzfs/module/zstd/lib/common/compiler.h | 3 - .../openzfs/module/zstd/lib/common/zstd_internal.h | 9 + sys/contrib/openzfs/rpm/generic/zfs.spec.in | 44 ++-- sys/contrib/openzfs/scripts/Makefile.am | 4 +- sys/contrib/openzfs/scripts/zfs-tests.sh | 4 + sys/contrib/openzfs/scripts/zfs2zol-patch.sed | 32 --- sys/contrib/openzfs/scripts/zol2zfs-patch.sed | 20 -- sys/contrib/openzfs/tests/runfiles/common.run | 2 +- .../tests/test-runner/bin/test-runner.py.in | 33 ++- .../openzfs/tests/zfs-tests/tests/Makefile.am | 1 + .../functional/cli_root/zpool_get/vdev_get.cfg | 1 + .../zpool_prefetch/zpool_prefetch_001_pos.ksh | 12 +- .../zpool_prefetch/zpool_prefetch_002_pos.ksh | 95 +++++++ .../tests/functional/events/zed_slow_io.ksh | 44 +++- .../tests/functional/trim/autotrim_config.ksh | 2 +- 115 files changed, 1386 insertions(+), 1059 deletions(-) diff --git a/sys/contrib/openzfs/.github/workflows/scripts/generate-ci-type.py b/sys/contrib/openzfs/.github/workflows/scripts/generate-ci-type.py index 08021aabcb61..059d6ad3872b 100755 --- a/sys/contrib/openzfs/.github/workflows/scripts/generate-ci-type.py +++ b/sys/contrib/openzfs/.github/workflows/scripts/generate-ci-type.py @@ -7,7 +7,7 @@ Prints "quick" if (explicity required by user): - the *last* commit message contains 'ZFS-CI-Type: quick' or if (heuristics): - the files changed are not in the list of specified directories, and -- all commit messages do not contain 'ZFS-CI-Type: full' +- all commit messages do not contain 'ZFS-CI-Type: (full|linux|freebsd)' Otherwise prints "full". """ @@ -70,7 +70,7 @@ if __name__ == '__main__': for line in last_commit_message_raw.stdout.decode().splitlines(): if line.strip().lower() == 'zfs-ci-type: quick': - output_type('quick', f'explicitly requested by HEAD commit {head}') + output_type('quick', f'requested by HEAD commit {head}') # check all commit messages all_commit_message_raw = subprocess.run([ @@ -83,8 +83,12 @@ if __name__ == '__main__': for line in all_commit_message: if line.startswith('ZFS-CI-Commit:'): commit_ref = line.lstrip('ZFS-CI-Commit:').rstrip() + if line.strip().lower() == 'zfs-ci-type: freebsd': + output_type('freebsd', f'requested by commit {commit_ref}') + if line.strip().lower() == 'zfs-ci-type: linux': + output_type('linux', f'requested by commit {commit_ref}') if line.strip().lower() == 'zfs-ci-type: full': - output_type('full', f'explicitly requested by commit {commit_ref}') + output_type('full', f'requested by commit {commit_ref}') # check changed files changed_files_raw = subprocess.run([ diff --git a/sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh b/sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh index 422b3e9df388..5bdd84ca2435 100755 --- a/sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh +++ b/sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh @@ -47,16 +47,15 @@ case "$OS" in OSNAME="Archlinux" URL="https://geo.mirror.pkgbuild.com/images/latest/Arch-Linux-x86_64-cloudimg.qcow2" ;; + centos-stream9) + OSNAME="CentOS Stream 9" + URL="https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2" + ;; centos-stream10) OSNAME="CentOS Stream 10" - # TODO: #16903 Overwrite OSv to stream9 for virt-install until it's added to osinfo OSv="centos-stream9" URL="https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-10-latest.x86_64.qcow2" ;; - centos-stream9) - OSNAME="CentOS Stream 9" - URL="https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2" - ;; debian11) OSNAME="Debian 11" URL="https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2" @@ -83,6 +82,11 @@ case "$OS" in OSv="fedora-unknown" URL="https://download.fedoraproject.org/pub/fedora/linux/releases/42/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-42-1.1.x86_64.qcow2" ;; + fedora43) + OSNAME="Fedora 43" + OSv="fedora-unknown" + URL="https://download.fedoraproject.org/pub/fedora/linux/releases/43/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-43-1.6.x86_64.qcow2" + ;; freebsd13-5r) FreeBSD="13.5-RELEASE" OSNAME="FreeBSD $FreeBSD" @@ -95,8 +99,8 @@ case "$OS" in FreeBSD="14.2-RELEASE" OSNAME="FreeBSD $FreeBSD" OSv="freebsd14.0" - KSRC="$FREEBSD_REL/../amd64/$FreeBSD/src.txz" URLxz="$FREEBSD_REL/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI.raw.xz" + KSRC="$FREEBSD_REL/../amd64/$FreeBSD/src.txz" ;; freebsd14-3r) FreeBSD="14.3-RELEASE" @@ -120,8 +124,8 @@ case "$OS" in URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz" KSRC="$FREEBSD_SNAP/../amd64/$FreeBSD/src.txz" ;; - freebsd15-0c) - FreeBSD="15.0-ALPHA4" + freebsd15-0s) + FreeBSD="15.0-STABLE" OSNAME="FreeBSD $FreeBSD" OSv="freebsd14.0" URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz" diff --git a/sys/contrib/openzfs/.github/workflows/zfs-qemu-packages.yml b/sys/contrib/openzfs/.github/workflows/zfs-qemu-packages.yml index d8a95954fe1a..6367fb3a6ce2 100644 --- a/sys/contrib/openzfs/.github/workflows/zfs-qemu-packages.yml +++ b/sys/contrib/openzfs/.github/workflows/zfs-qemu-packages.yml @@ -52,7 +52,7 @@ jobs: strategy: fail-fast: false matrix: - os: ['almalinux8', 'almalinux9', 'almalinux10', 'fedora41', 'fedora42'] + os: ['almalinux8', 'almalinux9', 'almalinux10', 'fedora41', 'fedora42', 'fedora43'] runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 diff --git a/sys/contrib/openzfs/.github/workflows/zfs-qemu.yml b/sys/contrib/openzfs/.github/workflows/zfs-qemu.yml index f1b189062bb7..2436b3d73e56 100644 --- a/sys/contrib/openzfs/.github/workflows/zfs-qemu.yml +++ b/sys/contrib/openzfs/.github/workflows/zfs-qemu.yml @@ -29,24 +29,34 @@ jobs: - name: Generate OS config and CI type id: os run: | - FULL_OS='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian12", "debian13", "fedora41", "fedora42", "freebsd13-5r", "freebsd14-3s", "freebsd15-0c", "ubuntu22", "ubuntu24"]' - QUICK_OS='["almalinux8", "almalinux9", "almalinux10", "debian12", "fedora42", "freebsd14-3s", "ubuntu24"]' + ci_type="default" + # determine CI type when running on PR - ci_type="full" if ${{ github.event_name == 'pull_request' }}; then head=${{ github.event.pull_request.head.sha }} base=${{ github.event.pull_request.base.sha }} ci_type=$(python3 .github/workflows/scripts/generate-ci-type.py $head $base) fi - if [ "$ci_type" == "quick" ]; then - os_selection="$QUICK_OS" - else - os_selection="$FULL_OS" - fi + + case "$ci_type" in + quick) + os_selection='["almalinux8", "almalinux9", "almalinux10", "debian12", "fedora42", "freebsd15-0s", "ubuntu24"]' + ;; + linux) + os_selection='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian11", "debian12", "debian13", "fedora41", "fedora42", "fedora43", "ubuntu22", "ubuntu24"]' + ;; + freebsd) + os_selection='["freebsd13-5r", "freebsd14-2r", "freebsd14-3r", "freebsd13-5s", "freebsd14-3s", "freebsd15-0s", "freebsd16-0c"]' + ;; + *) + # default list + os_selection='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian12", "debian13", "fedora42", "fedora43", "freebsd14-3r", "freebsd15-0s", "freebsd16-0c", "ubuntu22", "ubuntu24"]' + ;; + esac if ${{ github.event.inputs.fedora_kernel_ver != '' }}; then - # They specified a custom kernel version for Fedora. Use only - # Fedora runners. + # They specified a custom kernel version for Fedora. + # Use only Fedora runners. os_json=$(echo ${os_selection} | jq -c '[.[] | select(startswith("fedora"))]') else # Normal case @@ -62,13 +72,13 @@ jobs: strategy: fail-fast: false matrix: - # rhl: almalinux8, almalinux9, centos-stream9, fedora4x + # rhl: almalinux8, almalinux9, centos-streamX, fedora4x # debian: debian12, debian13, ubuntu22, ubuntu24 # misc: archlinux, tumbleweed - # FreeBSD variants of 2025-06: + # FreeBSD variants of november 2025: # FreeBSD Release: freebsd13-5r, freebsd14-2r, freebsd14-3r - # FreeBSD Stable: freebsd13-5s, freebsd14-3s - # FreeBSD Current: freebsd15-0c, freebsd16-0c + # FreeBSD Stable: freebsd13-5s, freebsd14-3s, freebsd15-0s + # FreeBSD Current: freebsd16-0c os: ${{ fromJson(needs.test-config.outputs.test_os) }} runs-on: ubuntu-24.04 steps: diff --git a/sys/contrib/openzfs/.mailmap b/sys/contrib/openzfs/.mailmap index e6f09c6c9d43..3397fbc3745d 100644 --- a/sys/contrib/openzfs/.mailmap +++ b/sys/contrib/openzfs/.mailmap @@ -53,6 +53,7 @@ Jason Harmening <[email protected]> Jeremy Faulkner <[email protected]> Jinshan Xiong <[email protected]> John Poduska <[email protected]> +Jo Zzsi <[email protected]> Justin Scholz <[email protected]> Ka Ho Ng <[email protected]> Kash Pande <[email protected]> @@ -67,6 +68,7 @@ Michael Gmelin <[email protected]> Olivier Mazouffre <[email protected]> Piotr Kubaj <[email protected]> Quentin Zdanis <[email protected]> +Roberto Ricci <[email protected]> Roberto Ricci <[email protected]> Rob Norris <[email protected]> Rob Norris <[email protected]> @@ -83,7 +85,10 @@ Youzhong Yang <[email protected]> # Signed-off-by: overriding Author: Alexander Ziaee <[email protected]> <[email protected]> Felix Schmidt <[email protected]> <[email protected]> +Jean-Sébastien Pédron <[email protected]> <[email protected]> +Konstantin Belousov <[email protected]> <[email protected]> Olivier Certner <[email protected]> <[email protected]> +Patrick Xia <[email protected]> <[email protected]> Phil Sutter <[email protected]> <[email protected]> poscat <[email protected]> <[email protected]> Qiuhao Chen <[email protected]> <[email protected]> @@ -125,6 +130,7 @@ buzzingwires <[email protected]> <[email protected] Cedric Maunoury <[email protected]> <[email protected]> Charles Suh <[email protected]> <[email protected]> Chris Peredun <[email protected]> <[email protected]> +classabbyamp <[email protected]> <[email protected]> Dacian Reece-Stremtan <[email protected]> <[email protected]> Damian Szuberski <[email protected]> <[email protected]> Daniel Hiepler <[email protected]> <[email protected]> @@ -185,6 +191,7 @@ Michael Niewöhner <[email protected]> <[email protected]> Michael Zhivich <[email protected]> <[email protected]> MigeljanImeri <[email protected]> <[email protected]> Mo Zhou <[email protected]> <[email protected]> +nav1s <[email protected]> <[email protected]> Nick Mattis <[email protected]> <[email protected]> omni <[email protected]> <[email protected]> Pablo Correa Gómez <[email protected]> <[email protected]> @@ -206,6 +213,7 @@ Samuel Wycliffe <[email protected]> <[email protected] Savyasachee Jha <[email protected]> <[email protected]> Scott Colby <[email protected]> <[email protected]> Sean Eric Fagan <[email protected]> <[email protected]> +Shreshth Srivastava <[email protected]> <[email protected]> Spencer Kinny <[email protected]> <[email protected]> Srikanth N S <[email protected]> <[email protected]> Stefan Lendl <[email protected]> <[email protected]> diff --git a/sys/contrib/openzfs/AUTHORS b/sys/contrib/openzfs/AUTHORS index 6c34c07f39ef..e496c0e8a807 100644 --- a/sys/contrib/openzfs/AUTHORS +++ b/sys/contrib/openzfs/AUTHORS @@ -154,6 +154,7 @@ CONTRIBUTORS: Chris Zubrzycki <[email protected]> Chuck Tuffli <[email protected]> Chunwei Chen <[email protected]> + classabbyamp <[email protected]> Clemens Fruhwirth <[email protected]> Clemens Lang <[email protected]> Clint Armstrong <[email protected]> @@ -161,6 +162,7 @@ CONTRIBUTORS: Colin Ian King <[email protected]> Colin Percival <[email protected]> Colm Buckley <[email protected]> + Cong Zhang <[email protected]> Crag Wang <[email protected]> Craig Loomis <[email protected]> Craig Sanders <[email protected]> @@ -217,6 +219,7 @@ CONTRIBUTORS: Eitan Adler <[email protected]> Eli Rosenthal <[email protected]> Eli Schwartz <[email protected]> + Eric A. Borisch <[email protected]> Eric Desrochers <[email protected]> Eric Dillmann <[email protected]> Eric Schrock <[email protected]> @@ -288,6 +291,7 @@ CONTRIBUTORS: Henrik Riomar <[email protected]> Herb Wartens <[email protected]> Hiếu Lê <[email protected]> + hoshinomori <[email protected]> Huang Liu <[email protected]> Håkan Johansson <[email protected]> Igor K <[email protected]> @@ -300,6 +304,7 @@ CONTRIBUTORS: ilovezfs <[email protected]> InsanePrawn <[email protected]> Isaac Huang <[email protected]> + Ivan Shapovalov <[email protected]> Ivan Volosyuk <[email protected]> Jacek Fefliński <[email protected]> Jacob Adams <[email protected]> @@ -322,6 +327,7 @@ CONTRIBUTORS: Javen Wu <[email protected]> Jaydeep Kshirsagar <[email protected]> Jean-Baptiste Lallement <[email protected]> + Jean-Sébastien Pédron <[email protected]> Jeff Dike <[email protected]> Jeremy Faulkner <[email protected]> Jeremy Gill <[email protected]> @@ -355,7 +361,9 @@ CONTRIBUTORS: Josh Soref <[email protected]> Joshua M. Clulow <[email protected]> José Luis Salvador Rufo <[email protected]> + Jo Zzsi <[email protected]> João Carlos Mendes Luís <[email protected]> + JT Pennington <[email protected]> Julian Brunner <[email protected]> Julian Heuking <[email protected]> jumbi77 <[email protected]> @@ -388,6 +396,7 @@ CONTRIBUTORS: Kleber Tarcísio <[email protected]> Kody A Kantor <[email protected]> Kohsuke Kawaguchi <[email protected]> + Konstantin Belousov <[email protected]> Konstantin Khorenko <[email protected]> KORN Andras <[email protected]> kotauskas <[email protected]> @@ -416,6 +425,7 @@ CONTRIBUTORS: luozhengzheng <[email protected]> Luís Henriques <[email protected]> Madhav Suresh <[email protected]> + Maksym Shkolnyi <[email protected]> manfromafar <[email protected]> Manoj Joseph <[email protected]> Manuel Amador (Rudd-O) <[email protected]> @@ -482,6 +492,7 @@ CONTRIBUTORS: Nathaniel Clark <[email protected]> Nathaniel Wesley Filardo <[email protected]> Nathan Lewis <[email protected]> + nav1s <[email protected]> Nav Ravindranath <[email protected]> Neal Gompa (ニール・ゴンパ) <[email protected]> Ned Bass <[email protected]> @@ -506,6 +517,7 @@ CONTRIBUTORS: Palash Gandhi <[email protected]> Patrick Fasano <[email protected]> Patrick Mooney <[email protected]> + Patrick Xia <[email protected]> Patrik Greco <[email protected]> Paul B. Henson <[email protected]> Paul Dagnelie <[email protected]> @@ -605,6 +617,7 @@ CONTRIBUTORS: Shengqi Chen <[email protected]> SHENGYI HONG <[email protected]> Shen Yan <[email protected]> + Shreshth Srivastava <[email protected]> Sietse <[email protected]> Simon Guest <[email protected]> Simon Howard <[email protected]> @@ -665,6 +678,7 @@ CONTRIBUTORS: Toyam Cox <[email protected]> Trevor Bautista <[email protected]> Trey Dockendorf <[email protected]> + trick2011 <[email protected]> Troels Nørgaard <[email protected]> tstabrawa <[email protected]> Tulsi Jain <[email protected]> diff --git a/sys/contrib/openzfs/META b/sys/contrib/openzfs/META index 2bfa51841cc4..da43a41ab824 100644 --- a/sys/contrib/openzfs/META +++ b/sys/contrib/openzfs/META @@ -2,7 +2,7 @@ Meta: 1 Name: zfs Branch: 1.0 Version: 2.4.0 -Release: rc3 +Release: rc4 Release-Tags: relext License: CDDL Author: OpenZFS diff --git a/sys/contrib/openzfs/README.md b/sys/contrib/openzfs/README.md index a90736bb56b7..a39b88fedd12 100644 --- a/sys/contrib/openzfs/README.md +++ b/sys/contrib/openzfs/README.md @@ -10,7 +10,7 @@ This repository contains the code for running OpenZFS on Linux and FreeBSD. # Official Resources * [Documentation](https://openzfs.github.io/openzfs-docs/) - for using and developing this repo - * [ZoL Site](https://zfsonlinux.org) - Linux release info & links + * [ZoL site](https://zfsonlinux.org) - Linux release info & links * [Mailing lists](https://openzfs.github.io/openzfs-docs/Project%20and%20Community/Mailing%20Lists.html) * [OpenZFS site](https://openzfs.org/) - for conference videos and info on other platforms (illumos, OSX, Windows, etc) diff --git a/sys/contrib/openzfs/autogen.sh b/sys/contrib/openzfs/autogen.sh index 39eb82203d69..5cb152474698 100755 --- a/sys/contrib/openzfs/autogen.sh +++ b/sys/contrib/openzfs/autogen.sh @@ -1,62 +1,3 @@ #!/bin/sh -[ "${0%/*}" = "$0" ] || cd "${0%/*}" || exit -# %reldir%/%canon_reldir% (%D%/%C%) only appeared in automake 1.14, but RHEL/CentOS 7 has 1.13.4 -# This is an (overly) simplistic preprocessor that papers around this for the duration of the generation step, -# and can be removed once support for CentOS 7 is dropped -automake --version | awk '{print $NF; exit}' | ( - IFS=. read -r AM_MAJ AM_MIN _ - [ "$AM_MAJ" -gt 1 ] || [ "$AM_MIN" -ge 14 ] -) || { - process_root() { - root="$1"; shift - - grep -q '%[CD]%' "$root/Makefile.am" || return - find "$root" -name Makefile.am "$@" | while read -r dir; do - dir="${dir%/Makefile.am}" - grep -q '%[CD]%' "$dir/Makefile.am" || continue - - reldir="${dir#"$root"}" - reldir="${reldir#/}" - - canon_reldir="$(printf '%s' "$reldir" | tr -C 'a-zA-Z0-9@_' '_')" - - reldir_slash="$reldir/" - canon_reldir_slash="${canon_reldir}_" - [ -z "$reldir" ] && reldir_slash= - [ -z "$reldir" ] && canon_reldir_slash= - - echo "$dir/Makefile.am" >&3 - sed -i~ -e "s:%D%/:$reldir_slash:g" -e "s:%D%:$reldir:g" \ - -e "s:%C%_:$canon_reldir_slash:g" -e "s:%C%:$canon_reldir:g" "$dir/Makefile.am" - done 3>>"$substituted_files" - } - - rollback() { - while read -r f; do - mv "$f~" "$f" - done < "$substituted_files" - rm -f "$substituted_files" - } - - - echo "Automake <1.14; papering over missing %reldir%/%canon_reldir% support" >&2 - - substituted_files="$(mktemp)" - trap rollback EXIT - - roots="$(sed '/Makefile$/!d;/module/d;s:^\s*:./:;s:/Makefile::;/^\.$/d' configure.ac)" - - IFS=" -" - for root in $roots; do - root="${root#./}" - process_root "$root" - done - - set -f - # shellcheck disable=SC2086,SC2046 - process_root . $(printf '!\n-path\n%s/*\n' $roots) -} - -autoreconf -fiv && rm -rf autom4te.cache +autoreconf -fiv "$(dirname "$0")" && rm -rf "$(dirname "$0")"/autom4te.cache diff --git a/sys/contrib/openzfs/cmd/zdb/zdb.c b/sys/contrib/openzfs/cmd/zdb/zdb.c index 2560ad045db3..fa8e7fa691db 100644 --- a/sys/contrib/openzfs/cmd/zdb/zdb.c +++ b/sys/contrib/openzfs/cmd/zdb/zdb.c @@ -7899,11 +7899,11 @@ zdb_set_skip_mmp(char *target) * Disable the activity check to allow examination of * active pools. */ - mutex_enter(&spa_namespace_lock); + spa_namespace_enter(FTAG); if ((spa = spa_lookup(target)) != NULL) { spa->spa_import_flags |= ZFS_IMPORT_SKIP_MMP; } - mutex_exit(&spa_namespace_lock); + spa_namespace_exit(FTAG); } #define BOGUS_SUFFIX "_CHECKPOINTED_UNIVERSE" @@ -10022,13 +10022,13 @@ main(int argc, char **argv) * try opening the pool after clearing the * log state. */ - mutex_enter(&spa_namespace_lock); + spa_namespace_enter(FTAG); if ((spa = spa_lookup(target)) != NULL && spa->spa_log_state == SPA_LOG_MISSING) { spa->spa_log_state = SPA_LOG_CLEAR; error = 0; } - mutex_exit(&spa_namespace_lock); + spa_namespace_exit(FTAG); if (!error) { error = spa_open_rewind(target, &spa, diff --git a/sys/contrib/openzfs/cmd/zfs/zfs_project.c b/sys/contrib/openzfs/cmd/zfs/zfs_project.c index fbf5e6cbdc68..8925e6672bef 100644 --- a/sys/contrib/openzfs/cmd/zfs/zfs_project.c +++ b/sys/contrib/openzfs/cmd/zfs/zfs_project.c @@ -145,11 +145,11 @@ zfs_project_handle_one(const char *name, zfs_project_control_t *zpc) switch (zpc->zpc_op) { case ZFS_PROJECT_OP_LIST: (void) printf("%5u %c %s\n", fsx.fsx_projid, - (fsx.fsx_xflags & ZFS_PROJINHERIT_FL) ? 'P' : '-', name); + (fsx.fsx_xflags & FS_XFLAG_PROJINHERIT) ? 'P' : '-', name); goto out; case ZFS_PROJECT_OP_CHECK: if (fsx.fsx_projid == zpc->zpc_expected_projid && - fsx.fsx_xflags & ZFS_PROJINHERIT_FL) + fsx.fsx_xflags & FS_XFLAG_PROJINHERIT) goto out; if (!zpc->zpc_newline) { @@ -164,29 +164,30 @@ zfs_project_handle_one(const char *name, zfs_project_control_t *zpc) "(%u/%u)\n", name, fsx.fsx_projid, (uint32_t)zpc->zpc_expected_projid); - if (!(fsx.fsx_xflags & ZFS_PROJINHERIT_FL)) + if (!(fsx.fsx_xflags & FS_XFLAG_PROJINHERIT)) (void) printf("%s - project inherit flag is not set\n", name); goto out; case ZFS_PROJECT_OP_CLEAR: - if (!(fsx.fsx_xflags & ZFS_PROJINHERIT_FL) && + if (!(fsx.fsx_xflags & FS_XFLAG_PROJINHERIT) && (zpc->zpc_keep_projid || fsx.fsx_projid == ZFS_DEFAULT_PROJID)) goto out; - fsx.fsx_xflags &= ~ZFS_PROJINHERIT_FL; + fsx.fsx_xflags &= ~FS_XFLAG_PROJINHERIT; if (!zpc->zpc_keep_projid) fsx.fsx_projid = ZFS_DEFAULT_PROJID; break; case ZFS_PROJECT_OP_SET: if (fsx.fsx_projid == zpc->zpc_expected_projid && - (!zpc->zpc_set_flag || fsx.fsx_xflags & ZFS_PROJINHERIT_FL)) + (!zpc->zpc_set_flag || + fsx.fsx_xflags & FS_XFLAG_PROJINHERIT)) goto out; fsx.fsx_projid = zpc->zpc_expected_projid; if (zpc->zpc_set_flag) - fsx.fsx_xflags |= ZFS_PROJINHERIT_FL; + fsx.fsx_xflags |= FS_XFLAG_PROJINHERIT; break; default: ASSERT(0); @@ -194,11 +195,30 @@ zfs_project_handle_one(const char *name, zfs_project_control_t *zpc) } ret = ioctl(fd, ZFS_IOC_FSSETXATTR, &fsx); - if (ret) + if (ret) { (void) fprintf(stderr, gettext("failed to set xattr for %s: %s\n"), name, strerror(errno)); + if (errno == ENOTSUP) { + char *kver = zfs_version_kernel(); + /* + * Special case: a module/userspace version mismatch can + * return ENOTSUP due to us fixing the XFLAGs bits in + * #17884. In that case give a hint to the user that + * they should take action to make the versions match. + */ + if (strcmp(kver, ZFS_META_ALIAS) != 0) { + fprintf(stderr, + gettext("Warning: The zfs module version " + "(%s) and userspace\nversion (%s) do not " + "match up. This may be the\ncause of the " + "\"Operation not supported\" error.\n"), + kver, ZFS_META_ALIAS); + } + } + } + out: close(fd); return (ret); diff --git a/sys/contrib/openzfs/cmd/zpool/zpool_main.c b/sys/contrib/openzfs/cmd/zpool/zpool_main.c index 1feec55c0e8b..18952775bcfe 100644 --- a/sys/contrib/openzfs/cmd/zpool/zpool_main.c +++ b/sys/contrib/openzfs/cmd/zpool/zpool_main.c @@ -494,8 +494,7 @@ get_usage(zpool_help_t idx) "[--json-int, --json-pool-key-guid]] ...\n" "\t [-T d|u] [pool] [interval [count]]\n")); case HELP_PREFETCH: - return (gettext("\tprefetch -t <type> [<type opts>] <pool>\n" - "\t -t ddt <pool>\n")); + return (gettext("\tprefetch [-t <type>] <pool>\n")); case HELP_OFFLINE: return (gettext("\toffline [--power]|[[-f][-t]] <pool> " "<device> ...\n")); @@ -4200,7 +4199,7 @@ zpool_do_checkpoint(int argc, char **argv) #define CHECKPOINT_OPT 1024 /* - * zpool prefetch <type> [<type opts>] <pool> + * zpool prefetch [-t <type>] <pool> * * Prefetchs a particular type of data in the specified pool. */ @@ -4245,20 +4244,27 @@ zpool_do_prefetch(int argc, char **argv) poolname = argv[0]; - argc--; - argv++; - - if (strcmp(typestr, "ddt") == 0) { - type = ZPOOL_PREFETCH_DDT; - } else { - (void) fprintf(stderr, gettext("unsupported prefetch type\n")); - usage(B_FALSE); - } - if ((zhp = zpool_open(g_zfs, poolname)) == NULL) return (1); - err = zpool_prefetch(zhp, type); + if (typestr == NULL) { + /* Prefetch all types */ + err = zpool_prefetch(zhp, ZPOOL_PREFETCH_DDT); + if (err == 0) + err = zpool_prefetch(zhp, ZPOOL_PREFETCH_BRT); + } else { + if (strcmp(typestr, "ddt") == 0) { + type = ZPOOL_PREFETCH_DDT; + } else if (strcmp(typestr, "brt") == 0) { + type = ZPOOL_PREFETCH_BRT; + } else { + (void) fprintf(stderr, + gettext("unsupported prefetch type\n")); + zpool_close(zhp); + usage(B_FALSE); + } + err = zpool_prefetch(zhp, type); + } zpool_close(zhp); diff --git a/sys/contrib/openzfs/cmd/ztest.c b/sys/contrib/openzfs/cmd/ztest.c index 89752dcb0f0f..89b1f68606ea 100644 --- a/sys/contrib/openzfs/cmd/ztest.c +++ b/sys/contrib/openzfs/cmd/ztest.c @@ -1228,10 +1228,10 @@ ztest_kill(ztest_shared_t *zs) * See comment above spa_write_cachefile(). */ if (raidz_expand_pause_point != RAIDZ_EXPAND_PAUSE_NONE) { - if (mutex_tryenter(&spa_namespace_lock)) { + if (spa_namespace_tryenter(FTAG)) { spa_write_cachefile(ztest_spa, B_FALSE, B_FALSE, B_FALSE); - mutex_exit(&spa_namespace_lock); + spa_namespace_exit(FTAG); ztest_scratch_state->zs_raidz_scratch_verify_pause = raidz_expand_pause_point; @@ -1246,9 +1246,9 @@ ztest_kill(ztest_shared_t *zs) return; } } else { - mutex_enter(&spa_namespace_lock); + spa_namespace_enter(FTAG); spa_write_cachefile(ztest_spa, B_FALSE, B_FALSE, B_FALSE); - mutex_exit(&spa_namespace_lock); + spa_namespace_exit(FTAG); } (void) raise(SIGKILL); @@ -2306,7 +2306,8 @@ ztest_replay_write(void *arg1, void *arg2, boolean_t byteswap) } if (abuf == NULL) { - dmu_write(os, lr->lr_foid, offset, length, data, tx); + dmu_write(os, lr->lr_foid, offset, length, data, tx, + DMU_READ_PREFETCH); } else { memcpy(abuf->b_data, data, length); VERIFY0(dmu_assign_arcbuf_by_dbuf(db, offset, abuf, tx, 0)); @@ -3688,10 +3689,10 @@ ztest_split_pool(ztest_ds_t *zd, uint64_t id) if (error == 0) { (void) printf("successful split - results:\n"); - mutex_enter(&spa_namespace_lock); + spa_namespace_enter(FTAG); show_pool_stats(spa); show_pool_stats(spa_lookup("splitp")); - mutex_exit(&spa_namespace_lock); + spa_namespace_exit(FTAG); ++zs->zs_splits; --zs->zs_mirrors; } @@ -3975,11 +3976,11 @@ raidz_scratch_verify(void) kernel_init(SPA_MODE_READ); - mutex_enter(&spa_namespace_lock); + spa_namespace_enter(FTAG); spa = spa_lookup(ztest_opts.zo_pool); ASSERT(spa); spa->spa_import_flags |= ZFS_IMPORT_SKIP_MMP; - mutex_exit(&spa_namespace_lock); + spa_namespace_exit(FTAG); VERIFY0(spa_open(ztest_opts.zo_pool, &spa, FTAG)); @@ -5243,7 +5244,8 @@ ztest_dmu_read_write(ztest_ds_t *zd, uint64_t id) * We've verified all the old bufwads, and made new ones. * Now write them out. */ - dmu_write(os, packobj, packoff, packsize, packbuf, tx); + dmu_write(os, packobj, packoff, packsize, packbuf, tx, + DMU_READ_PREFETCH); if (freeit) { if (ztest_opts.zo_verbose >= 7) { @@ -5258,7 +5260,8 @@ ztest_dmu_read_write(ztest_ds_t *zd, uint64_t id) " txg %"PRIx64"\n", bigoff, bigsize, txg); } - dmu_write(os, bigobj, bigoff, bigsize, bigbuf, tx); + dmu_write(os, bigobj, bigoff, bigsize, bigbuf, tx, + DMU_READ_PREFETCH); } dmu_tx_commit(tx); @@ -5513,7 +5516,8 @@ ztest_dmu_read_write_zcopy(ztest_ds_t *zd, uint64_t id) * We've verified all the old bufwads, and made new ones. * Now write them out. */ - dmu_write(os, packobj, packoff, packsize, packbuf, tx); + dmu_write(os, packobj, packoff, packsize, packbuf, tx, + DMU_READ_PREFETCH); if (ztest_opts.zo_verbose >= 7) { (void) printf("writing offset %"PRIx64" size %"PRIx64"" " txg %"PRIx64"\n", @@ -6119,7 +6123,8 @@ ztest_dmu_commit_callbacks(ztest_ds_t *zd, uint64_t id) "future leak: got %"PRIu64", open txg is %"PRIu64"", old_txg, txg); - dmu_write(os, od->od_object, 0, sizeof (uint64_t), &txg, tx); + dmu_write(os, od->od_object, 0, sizeof (uint64_t), &txg, tx, + DMU_READ_PREFETCH); (void) mutex_enter(&zcl.zcl_callbacks_lock); @@ -7422,11 +7427,11 @@ ztest_walk_pool_directory(const char *header) if (ztest_opts.zo_verbose >= 6) (void) puts(header); - mutex_enter(&spa_namespace_lock); + spa_namespace_enter(FTAG); while ((spa = spa_next(spa)) != NULL) if (ztest_opts.zo_verbose >= 6) (void) printf("\t%s\n", spa_name(spa)); - mutex_exit(&spa_namespace_lock); + spa_namespace_exit(FTAG); } static void @@ -8541,11 +8546,11 @@ ztest_run(ztest_shared_t *zs) /* * Verify that we can loop over all pools. */ - mutex_enter(&spa_namespace_lock); + spa_namespace_enter(FTAG); for (spa = spa_next(NULL); spa != NULL; spa = spa_next(spa)) if (ztest_opts.zo_verbose > 3) (void) printf("spa_next: found %s\n", spa_name(spa)); - mutex_exit(&spa_namespace_lock); + spa_namespace_exit(FTAG); /* * Verify that we can export the pool and reimport it under a diff --git a/sys/contrib/openzfs/config/deb.am b/sys/contrib/openzfs/config/deb.am index 9e58e1905b73..3e9a9379712e 100644 --- a/sys/contrib/openzfs/config/deb.am +++ b/sys/contrib/openzfs/config/deb.am @@ -58,9 +58,9 @@ deb-utils: deb-local rpm-utils-initramfs pkg1=$${name}-$${version}.$${arch}.rpm; \ pkg2=libnvpair3-$${version}.$${arch}.rpm; \ pkg3=libuutil3-$${version}.$${arch}.rpm; \ - pkg4=libzfs6-$${version}.$${arch}.rpm; \ - pkg5=libzpool6-$${version}.$${arch}.rpm; \ - pkg6=libzfs6-devel-$${version}.$${arch}.rpm; \ + pkg4=libzfs7-$${version}.$${arch}.rpm; \ + pkg5=libzpool7-$${version}.$${arch}.rpm; \ + pkg6=libzfs7-devel-$${version}.$${arch}.rpm; \ pkg7=$${name}-test-$${version}.$${arch}.rpm; \ pkg8=$${name}-dracut-$${version}.noarch.rpm; \ pkg9=$${name}-initramfs-$${version}.$${arch}.rpm; \ @@ -72,7 +72,7 @@ deb-utils: deb-local rpm-utils-initramfs path_prepend=`mktemp -d /tmp/intercept.XXXXXX`; \ echo "#!$(SHELL)" > $${path_prepend}/dh_shlibdeps; \ echo "`which dh_shlibdeps` -- \ - -xlibuutil3linux -xlibnvpair3linux -xlibzfs6linux -xlibzpool6linux" \ + -xlibuutil3linux -xlibnvpair3linux -xlibzfs7linux -xlibzpool7linux" \ >> $${path_prepend}/dh_shlibdeps; \ ## These -x arguments are passed to dpkg-shlibdeps, which exclude the ## Debianized packages from the auto-generated dependencies of the new debs, diff --git a/sys/contrib/openzfs/contrib/debian/Makefile.am b/sys/contrib/openzfs/contrib/debian/Makefile.am index 99d512312df6..3c219856005e 100644 --- a/sys/contrib/openzfs/contrib/debian/Makefile.am +++ b/sys/contrib/openzfs/contrib/debian/Makefile.am @@ -12,14 +12,14 @@ dist_noinst_DATA += %D%/openzfs-libpam-zfs.postinst dist_noinst_DATA += %D%/openzfs-libpam-zfs.prerm dist_noinst_DATA += %D%/openzfs-libuutil3.docs dist_noinst_DATA += %D%/openzfs-libuutil3.install.in -dist_noinst_DATA += %D%/openzfs-libzfs6.docs -dist_noinst_DATA += %D%/openzfs-libzfs6.install.in +dist_noinst_DATA += %D%/openzfs-libzfs7.docs +dist_noinst_DATA += %D%/openzfs-libzfs7.install.in dist_noinst_DATA += %D%/openzfs-libzfsbootenv1.docs dist_noinst_DATA += %D%/openzfs-libzfsbootenv1.install.in dist_noinst_DATA += %D%/openzfs-libzfs-dev.docs dist_noinst_DATA += %D%/openzfs-libzfs-dev.install.in -dist_noinst_DATA += %D%/openzfs-libzpool6.docs -dist_noinst_DATA += %D%/openzfs-libzpool6.install.in +dist_noinst_DATA += %D%/openzfs-libzpool7.docs +dist_noinst_DATA += %D%/openzfs-libzpool7.install.in dist_noinst_DATA += %D%/openzfs-python3-pyzfs.install dist_noinst_DATA += %D%/openzfs-zfs-dkms.config dist_noinst_DATA += %D%/openzfs-zfs-dkms.dkms diff --git a/sys/contrib/openzfs/contrib/debian/clean b/sys/contrib/openzfs/contrib/debian/clean index 4f52d01b8108..caabcd30c62a 100644 --- a/sys/contrib/openzfs/contrib/debian/clean +++ b/sys/contrib/openzfs/contrib/debian/clean @@ -6,6 +6,6 @@ contrib/pyzfs/libzfs_core/bindings/__pycache__/ contrib/pyzfs/pyzfs.egg-info/ debian/openzfs-libnvpair3.install debian/openzfs-libuutil3.install -debian/openzfs-libzfs6.install +debian/openzfs-libzfs7.install debian/openzfs-libzfs-dev.install -debian/openzfs-libzpool6.install +debian/openzfs-libzpool7.install diff --git a/sys/contrib/openzfs/contrib/debian/control b/sys/contrib/openzfs/contrib/debian/control index c5358dedc0fd..a886c2e86cc5 100644 --- a/sys/contrib/openzfs/contrib/debian/control +++ b/sys/contrib/openzfs/contrib/debian/control @@ -79,9 +79,9 @@ Architecture: linux-any Depends: libssl-dev | libssl1.0-dev, openzfs-libnvpair3 (= ${binary:Version}), openzfs-libuutil3 (= ${binary:Version}), - openzfs-libzfs6 (= ${binary:Version}), + openzfs-libzfs7 (= ${binary:Version}), openzfs-libzfsbootenv1 (= ${binary:Version}), - openzfs-libzpool6 (= ${binary:Version}), + openzfs-libzpool7 (= ${binary:Version}), ${misc:Depends} Replaces: libzfslinux-dev Conflicts: libzfslinux-dev @@ -91,18 +91,18 @@ Description: OpenZFS filesystem development files for Linux libraries of OpenZFS filesystem. . *** 5226 LINES SKIPPED ***
