git: 2a58b312b62f - main - zfs: merge openzfs/zfs@431083f75
- Reply: Cy Schubert : "Re: git: 2a58b312b62f - main - zfs: merge openzfs/zfs@431083f75"
- Reply: Cy Schubert : "Re: git: 2a58b312b62f - main - zfs: merge openzfs/zfs@431083f75"
- Reply: Kyle Evans : "Re: git: 2a58b312b62f - main - zfs: merge openzfs/zfs@431083f75"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 03 Apr 2023 15:13:06 UTC
The branch main has been updated by mm:
URL: https://cgit.FreeBSD.org/src/commit/?id=2a58b312b62f908ec92311d1bd8536dbaeb8e55b
commit 2a58b312b62f908ec92311d1bd8536dbaeb8e55b
Merge: b98fbf3781df 431083f75bdd
Author: Martin Matuska <mm@FreeBSD.org>
AuthorDate: 2023-04-03 14:49:30 +0000
Commit: Martin Matuska <mm@FreeBSD.org>
CommitDate: 2023-04-03 14:49:30 +0000
zfs: merge openzfs/zfs@431083f75
Notable upstream pull request merges:
#12194 Fix short-lived txg caused by autotrim
#13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced()
#13392 Implementation of block cloning for ZFS
#13741 SHA2 reworking and API for iterating over multiple implementations
#14282 Sync thread should avoid holding the spa config write lock
when possible
#14283 txg_sync should handle write errors in ZIL
#14359 More adaptive ARC eviction
#14469 Fix NULL pointer dereference in zio_ready()
#14479 zfs redact fails when dnodesize=auto
#14496 improve error message of zfs redact
#14500 Skip memory allocation when compressing holes
#14501 FreeBSD: don't verify recycled vnode for zfs control directory
#14502 partially revert PR 14304 (eee9362a7)
#14509 Fix per-jail zfs.mount_snapshot setting
#14514 Fix data race between zil_commit() and zil_suspend()
#14516 System-wide speculative prefetch limit
#14517 Use rw_tryupgrade() in dmu_bonus_hold_by_dnode()
#14519 Do not hold spa_config in ZIL while blocked on IO
#14523 Move dmu_buf_rele() after dsl_dataset_sync_done()
#14524 Ignore too large stack in case of dsl_deadlist_merge
#14526 Use .section .rodata instead of .rodata on FreeBSD
#14528 ICP: AES-GCM: Refactor gcm_clear_ctx()
#14529 ICP: AES-GCM: Unify gcm_init_ctx() and gmac_init_ctx()
#14532 Handle unexpected errors in zil_lwb_commit() without ASSERT()
#14544 icp: Prevent compilers from optimizing away memset()
in gcm_clear_ctx()
#14546 Revert zfeature_active() to static
#14556 Remove bad kmem_free() oversight from previous zfsdev_state_list
patch
#14563 Optimize the is_l2cacheable functions
#14565 FreeBSD: zfs_znode_alloc: lock the vnode earlier
#14566 FreeBSD: fix false assert in cache_vop_rmdir when replaying ZIL
#14567 spl: Add cmn_err_once() to log a message only on the first call
#14568 Fix incremental receive silently failing for recursive sends
#14569 Restore ASMABI and other Unify work
#14576 Fix detection of IBM Power8 machines (ISA 2.07)
#14577 Better handling for future crypto parameters
#14600 zcommon: Refactor FPU state handling in fletcher4
#14603 Fix prefetching of indirect blocks while destroying
#14633 Fixes in persistent error log
#14639 FreeBSD: Remove extra arc_reduce_target_size() call
#14641 Additional limits on hole reporting
#14649 Drop lying to the compiler in the fletcher4 code
#14652 panic loop when removing slog device
#14653 Update vdev state for spare vdev
#14655 Fix cloning into already dirty dbufs
#14678 Revert "Do not hold spa_config in ZIL while blocked on IO"
Obtained from: OpenZFS
OpenZFS commit: 431083f75bdd3efaee992bdd672625ec7240d252
cddl/lib/libicp/Makefile | 52 +-
cddl/lib/libicp_rescue/Makefile | 50 +-
cddl/lib/libzfs/Makefile | 1 -
cddl/lib/libzpool/Makefile | 5 +-
cddl/usr.sbin/zdb/Makefile | 2 +-
cddl/usr.sbin/zfsd/case_file.cc | 5 +-
cddl/usr.sbin/zfsd/vdev.cc | 4 +-
cddl/usr.sbin/zfsd/zfsd_exception.cc | 2 +-
lib/libbe/be.c | 4 +-
sbin/bectl/bectl.c | 9 +-
sbin/bectl/bectl_jail.c | 5 +-
sbin/bectl/bectl_list.c | 15 +-
stand/libsa/zfs/Makefile.inc | 22 +-
stand/libsa/zfs/blake3_impl_hack.c | 2 +
sys/conf/files | 15 +-
sys/conf/files.amd64 | 15 +
sys/conf/files.arm | 5 +
sys/conf/files.arm64 | 15 +
sys/conf/files.powerpc | 9 +
sys/contrib/openzfs/.github/workflows/README.md | 51 +
.../openzfs/.github/workflows/checkstyle.yaml | 6 +-
.../.github/workflows/scripts/generate-summary.sh | 119 +
.../workflows/scripts/reclaim_disk_space.sh | 20 -
.../workflows/scripts/setup-dependencies.sh | 93 +
.../.github/workflows/scripts/setup-functional.sh | 24 +
.../openzfs/.github/workflows/zfs-linux-tests.yml | 124 +
.../openzfs/.github/workflows/zfs-linux.yml | 64 +
.../.github/workflows/zfs-tests-functional.yml | 84 -
.../openzfs/.github/workflows/zfs-tests-sanity.yml | 80 -
sys/contrib/openzfs/.github/workflows/zloop.yml | 63 -
sys/contrib/openzfs/cmd/arc_summary | 101 +-
sys/contrib/openzfs/cmd/mount_zfs.c | 2 +-
sys/contrib/openzfs/cmd/zdb/Makefile.am | 3 +
sys/contrib/openzfs/cmd/zdb/zdb.c | 190 +-
sys/contrib/openzfs/cmd/zdb/zdb_il.c | 19 +
sys/contrib/openzfs/cmd/zed/agents/fmd_api.c | 6 +-
sys/contrib/openzfs/cmd/zed/agents/zfs_agents.c | 6 +-
sys/contrib/openzfs/cmd/zed/agents/zfs_diagnosis.c | 4 +-
sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c | 26 +-
sys/contrib/openzfs/cmd/zed/agents/zfs_retire.c | 8 +-
sys/contrib/openzfs/cmd/zed/zed_disk_event.c | 10 +-
sys/contrib/openzfs/cmd/zed/zed_event.c | 6 +-
sys/contrib/openzfs/cmd/zfs/zfs_iter.c | 2 +-
sys/contrib/openzfs/cmd/zfs/zfs_main.c | 70 +-
sys/contrib/openzfs/cmd/zpool/zpool_iter.c | 4 +-
sys/contrib/openzfs/cmd/zpool/zpool_main.c | 125 +-
sys/contrib/openzfs/cmd/zpool/zpool_vdev.c | 33 +-
.../openzfs/cmd/zpool_influxdb/zpool_influxdb.c | 6 +-
sys/contrib/openzfs/cmd/ztest.c | 13 +-
sys/contrib/openzfs/config/always-arch.m4 | 6 +-
sys/contrib/openzfs/config/kernel-blk-queue.m4 | 4 +-
.../openzfs/config/kernel-cpu_has_feature.m4 | 29 +
.../openzfs/config/kernel-flush_dcache_page.m4 | 26 +
.../openzfs/config/kernel-generic_io_acct.m4 | 98 +-
sys/contrib/openzfs/config/kernel.m4 | 12 +
sys/contrib/openzfs/config/user.m4 | 2 +-
.../contrib/debian/openzfs-zfsutils.install | 1 +
sys/contrib/openzfs/contrib/initramfs/scripts/zfs | 11 +-
.../contrib/pyzfs/libzfs_core/_constants.py | 1 +
sys/contrib/openzfs/include/Makefile.am | 4 +
sys/contrib/openzfs/include/libnvpair.h | 11 +-
sys/contrib/openzfs/include/libzfs.h | 2 +-
sys/contrib/openzfs/include/libzutil.h | 6 +
sys/contrib/openzfs/include/os/freebsd/Makefile.am | 3 +-
.../openzfs/include/os/freebsd/spl/sys/cmn_err.h | 33 +
.../openzfs/include/os/freebsd/spl/sys/mod_os.h | 6 +
.../openzfs/include/os/freebsd/spl/sys/simd.h | 6 +
.../include/os/freebsd/spl/sys/simd_aarch64.h | 84 +
.../openzfs/include/os/freebsd/spl/sys/simd_arm.h | 74 +
.../include/os/freebsd/spl/sys/simd_powerpc.h | 50 +-
.../openzfs/include/os/freebsd/spl/sys/simd_x86.h | 18 +
.../openzfs/include/os/freebsd/spl/sys/vnode.h | 4 +
.../openzfs/include/os/freebsd/zfs/sys/sha2.h | 197 -
.../include/os/freebsd/zfs/sys/zfs_znode_impl.h | 5 +-
sys/contrib/openzfs/include/os/linux/Makefile.am | 2 +-
.../include/os/linux/kernel/linux/blkdev_compat.h | 10 +-
.../include/os/linux/kernel/linux/dcache_compat.h | 15 +
.../include/os/linux/kernel/linux/mod_compat.h | 1 +
.../openzfs/include/os/linux/kernel/linux/simd.h | 5 +-
.../include/os/linux/kernel/linux/simd_aarch64.h | 76 +-
.../include/os/linux/kernel/linux/simd_arm.h | 80 +
.../include/os/linux/kernel/linux/simd_powerpc.h | 66 +-
.../include/os/linux/kernel/linux/simd_x86.h | 15 +
sys/contrib/openzfs/include/os/linux/spl/rpc/xdr.h | 3 -
.../openzfs/include/os/linux/spl/sys/cmn_err.h | 17 +
.../openzfs/include/os/linux/spl/sys/mutex.h | 1 +
.../openzfs/include/os/linux/zfs/sys/sha2.h | 148 -
.../include/os/linux/zfs/sys/zfs_vnops_os.h | 2 +-
.../include/os/linux/zfs/sys/zfs_znode_impl.h | 3 +-
sys/contrib/openzfs/include/sys/arc.h | 1 -
sys/contrib/openzfs/include/sys/arc_impl.h | 44 +-
sys/contrib/openzfs/include/sys/bitmap.h | 93 +
sys/contrib/openzfs/include/sys/blake3.h | 26 +-
sys/contrib/openzfs/include/sys/brt.h | 62 +
sys/contrib/openzfs/include/sys/dbuf.h | 2 +
sys/contrib/openzfs/include/sys/ddt.h | 2 +
sys/contrib/openzfs/include/sys/dmu.h | 8 +
sys/contrib/openzfs/include/sys/dmu_recv.h | 4 +-
sys/contrib/openzfs/include/sys/dmu_tx.h | 1 +
sys/contrib/openzfs/include/sys/dsl_dataset.h | 1 -
sys/contrib/openzfs/include/sys/edonr.h | 41 +-
sys/contrib/openzfs/include/sys/fs/zfs.h | 4 +
sys/contrib/openzfs/include/sys/nvpair.h | 21 +-
sys/contrib/openzfs/include/sys/sha2.h | 127 +
sys/contrib/openzfs/include/sys/spa.h | 5 +-
sys/contrib/openzfs/include/sys/spa_impl.h | 2 +
sys/contrib/openzfs/include/sys/vdev.h | 5 +-
sys/contrib/openzfs/include/sys/vdev_impl.h | 1 +
sys/contrib/openzfs/include/sys/vdev_trim.h | 1 +
sys/contrib/openzfs/include/sys/zfs_debug.h | 1 +
sys/contrib/openzfs/include/sys/zfs_impl.h | 69 +
sys/contrib/openzfs/include/sys/zfs_vnops.h | 4 +
sys/contrib/openzfs/include/sys/zfs_znode.h | 3 +
sys/contrib/openzfs/include/sys/zil.h | 25 +-
sys/contrib/openzfs/include/sys/zil_impl.h | 1 +
sys/contrib/openzfs/include/sys/zio.h | 7 +-
sys/contrib/openzfs/include/sys/zio_checksum.h | 6 +-
sys/contrib/openzfs/include/sys/zio_compress.h | 2 +-
sys/contrib/openzfs/include/sys/zio_impl.h | 41 +-
sys/contrib/openzfs/include/zfeature_common.h | 1 +
sys/contrib/openzfs/include/zfs_fletcher.h | 27 +-
sys/contrib/openzfs/lib/libicp/Makefile.am | 28 +-
sys/contrib/openzfs/lib/libnvpair/libnvpair.abi | 4452 +++++-----
sys/contrib/openzfs/lib/libnvpair/libnvpair.c | 41 +-
sys/contrib/openzfs/lib/libnvpair/libnvpair_json.c | 4 +-
sys/contrib/openzfs/lib/libspl/include/Makefile.am | 1 -
.../openzfs/lib/libspl/include/sys/cmn_err.h | 34 +
sys/contrib/openzfs/lib/libspl/include/sys/sha2.h | 148 -
sys/contrib/openzfs/lib/libspl/include/sys/simd.h | 122 +-
sys/contrib/openzfs/lib/libuutil/libuutil.abi | 980 ++-
sys/contrib/openzfs/lib/libzfs/Makefile.am | 3 -
sys/contrib/openzfs/lib/libzfs/libzfs.abi | 8853 ++++++++++++++------
sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c | 13 +-
sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c | 30 +-
sys/contrib/openzfs/lib/libzfs/libzfs_diff.c | 6 +-
sys/contrib/openzfs/lib/libzfs/libzfs_impl.h | 2 +-
sys/contrib/openzfs/lib/libzfs/libzfs_import.c | 2 +-
sys/contrib/openzfs/lib/libzfs/libzfs_iter.c | 2 +-
sys/contrib/openzfs/lib/libzfs/libzfs_mount.c | 2 +-
sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 46 +-
sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c | 54 +-
sys/contrib/openzfs/lib/libzfs/libzfs_status.c | 3 +-
sys/contrib/openzfs/lib/libzfs/libzfs_util.c | 17 +-
.../openzfs/lib/libzfs/os/linux/libzfs_pool_os.c | 2 +-
.../openzfs/lib/libzfs_core/libzfs_core.abi | 1838 ++--
.../openzfs/lib/libzfsbootenv/libzfsbootenv.abi | 507 +-
.../openzfs/lib/libzfsbootenv/lzbe_device.c | 17 +-
sys/contrib/openzfs/lib/libzpool/Makefile.am | 3 +-
sys/contrib/openzfs/lib/libzpool/util.c | 9 +-
.../lib/libzutil/os/linux/zutil_import_os.c | 12 +-
sys/contrib/openzfs/lib/libzutil/zutil_import.c | 48 +-
sys/contrib/openzfs/lib/libzutil/zutil_import.h | 4 +-
sys/contrib/openzfs/man/Makefile.am | 1 +
sys/contrib/openzfs/man/man4/zfs.4 | 82 +-
sys/contrib/openzfs/man/man7/zpool-features.7 | 15 +
sys/contrib/openzfs/man/man7/zpoolprops.7 | 27 +-
sys/contrib/openzfs/man/man8/zdb.8 | 28 +
sys/contrib/openzfs/man/man8/zfs-receive.8 | 15 +-
sys/contrib/openzfs/man/man8/zfs.8 | 2 +
sys/contrib/openzfs/man/man8/zpool-events.8 | 34 +-
sys/contrib/openzfs/man/man8/zpool.8 | 2 +
sys/contrib/openzfs/module/Kbuild.in | 39 +-
sys/contrib/openzfs/module/Makefile.bsd | 219 +-
sys/contrib/openzfs/module/avl/avl.c | 6 +-
.../openzfs/module/icp/algs/blake3/blake3.c | 3 +-
.../module/icp/algs/blake3/blake3_generic.c | 6 +-
.../openzfs/module/icp/algs/blake3/blake3_impl.c | 423 +-
.../openzfs/module/icp/algs/blake3/blake3_impl.h | 31 +-
.../openzfs/module/icp/algs/blake3/blake3_x86-64.c | 252 -
sys/contrib/openzfs/module/icp/algs/edonr/edonr.c | 783 +-
.../module/icp/algs/edonr/edonr_byteorder.h | 216 -
sys/contrib/openzfs/module/icp/algs/modes/gcm.c | 228 +-
sys/contrib/openzfs/module/icp/algs/modes/modes.c | 53 +-
sys/contrib/openzfs/module/icp/algs/sha2/sha2.c | 957 ---
.../openzfs/module/icp/algs/sha2/sha256_impl.c | 309 +
.../openzfs/module/icp/algs/sha2/sha2_generic.c | 562 ++
.../openzfs/module/icp/algs/sha2/sha512_impl.c | 285 +
.../module/icp/asm-aarch64/sha2/sha256-armv8.S | 1999 +++++
.../module/icp/asm-aarch64/sha2/sha512-armv8.S | 1558 ++++
.../openzfs/module/icp/asm-arm/sha2/sha256-armv7.S | 2769 ++++++
.../openzfs/module/icp/asm-arm/sha2/sha512-armv7.S | 1822 ++++
.../openzfs/module/icp/asm-ppc64/sha2/sha256-p8.S | 1505 ++++
.../openzfs/module/icp/asm-ppc64/sha2/sha256-ppc.S | 2712 ++++++
.../openzfs/module/icp/asm-ppc64/sha2/sha512-p8.S | 1706 ++++
.../openzfs/module/icp/asm-ppc64/sha2/sha512-ppc.S | 2958 +++++++
.../module/icp/asm-x86_64/sha2/sha256-x86_64.S | 5104 +++++++++++
.../module/icp/asm-x86_64/sha2/sha256_impl.S | 2090 -----
.../module/icp/asm-x86_64/sha2/sha512-x86_64.S | 4011 +++++++++
.../module/icp/asm-x86_64/sha2/sha512_impl.S | 2115 -----
.../openzfs/module/icp/include/generic_impl.c | 233 +
.../openzfs/module/icp/include/modes/modes.h | 2 +
.../openzfs/module/icp/include/sha2/sha2_consts.h | 219 -
.../openzfs/module/icp/include/sha2/sha2_impl.h | 27 +-
sys/contrib/openzfs/module/icp/io/aes.c | 25 +-
sys/contrib/openzfs/module/icp/io/sha2_mod.c | 1 -
sys/contrib/openzfs/module/nvpair/fnvpair.c | 12 +-
sys/contrib/openzfs/module/nvpair/nvpair.c | 27 +-
sys/contrib/openzfs/module/os/freebsd/spl/sha224.h | 96 -
sys/contrib/openzfs/module/os/freebsd/spl/sha256.h | 99 -
.../openzfs/module/os/freebsd/spl/sha256c.c | 378 -
sys/contrib/openzfs/module/os/freebsd/spl/sha384.h | 96 -
sys/contrib/openzfs/module/os/freebsd/spl/sha512.h | 101 -
.../openzfs/module/os/freebsd/spl/sha512c.c | 508 --
.../openzfs/module/os/freebsd/spl/sha512t.h | 143 -
.../openzfs/module/os/freebsd/spl/spl_sysevent.c | 4 +-
sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c | 4 +-
sys/contrib/openzfs/module/os/freebsd/zfs/spa_os.c | 2 +-
.../openzfs/module/os/freebsd/zfs/sysctl_os.c | 79 +-
.../openzfs/module/os/freebsd/zfs/vdev_geom.c | 2 +-
.../openzfs/module/os/freebsd/zfs/zfs_ctldir.c | 4 +-
.../openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c | 2 +-
.../openzfs/module/os/freebsd/zfs/zfs_vfsops.c | 7 +-
.../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 102 +-
.../openzfs/module/os/freebsd/zfs/zfs_znode.c | 41 +-
.../openzfs/module/os/freebsd/zfs/zvol_os.c | 3 +
.../openzfs/module/os/linux/spl/spl-generic.c | 2 +-
sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 2 +-
.../openzfs/module/os/linux/zfs/qat_compress.c | 2 +-
.../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 172 +-
.../openzfs/module/os/linux/zfs/zfs_znode.c | 2 +-
.../openzfs/module/os/linux/zfs/zio_crypt.c | 2 +-
sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 17 +-
.../openzfs/module/os/linux/zfs/zpl_super.c | 22 +-
sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 3 +-
.../openzfs/module/zcommon/zfeature_common.c | 6 +
sys/contrib/openzfs/module/zcommon/zfs_comutil.c | 4 +-
sys/contrib/openzfs/module/zcommon/zfs_deleg.c | 4 +-
sys/contrib/openzfs/module/zcommon/zfs_fletcher.c | 29 +-
.../module/zcommon/zfs_fletcher_aarch64_neon.c | 5 +-
.../openzfs/module/zcommon/zfs_fletcher_avx512.c | 6 +-
.../openzfs/module/zcommon/zfs_fletcher_intel.c | 5 +-
.../openzfs/module/zcommon/zfs_fletcher_sse.c | 6 +-
.../module/zcommon/zfs_fletcher_superscalar.c | 5 +-
.../module/zcommon/zfs_fletcher_superscalar4.c | 5 +-
sys/contrib/openzfs/module/zcommon/zfs_prop.c | 6 +-
sys/contrib/openzfs/module/zcommon/zpool_prop.c | 9 +
sys/contrib/openzfs/module/zfs/arc.c | 986 +--
sys/contrib/openzfs/module/zfs/bpobj.c | 1 +
sys/contrib/openzfs/module/zfs/brt.c | 1884 +++++
sys/contrib/openzfs/module/zfs/dbuf.c | 200 +-
sys/contrib/openzfs/module/zfs/ddt.c | 55 +
sys/contrib/openzfs/module/zfs/dmu.c | 204 +-
sys/contrib/openzfs/module/zfs/dmu_object.c | 2 +
sys/contrib/openzfs/module/zfs/dmu_objset.c | 38 +-
sys/contrib/openzfs/module/zfs/dmu_recv.c | 51 +-
sys/contrib/openzfs/module/zfs/dmu_redact.c | 6 +-
sys/contrib/openzfs/module/zfs/dmu_send.c | 2 +-
sys/contrib/openzfs/module/zfs/dmu_traverse.c | 24 +-
sys/contrib/openzfs/module/zfs/dmu_tx.c | 47 +-
sys/contrib/openzfs/module/zfs/dmu_zfetch.c | 29 +-
sys/contrib/openzfs/module/zfs/dnode.c | 26 +-
sys/contrib/openzfs/module/zfs/dsl_bookmark.c | 16 +-
sys/contrib/openzfs/module/zfs/dsl_crypt.c | 21 +-
sys/contrib/openzfs/module/zfs/dsl_dataset.c | 42 +-
sys/contrib/openzfs/module/zfs/dsl_deadlist.c | 28 +-
sys/contrib/openzfs/module/zfs/dsl_destroy.c | 2 +-
sys/contrib/openzfs/module/zfs/dsl_dir.c | 2 +
sys/contrib/openzfs/module/zfs/dsl_pool.c | 1 +
sys/contrib/openzfs/module/zfs/dsl_prop.c | 2 +-
sys/contrib/openzfs/module/zfs/dsl_scan.c | 17 +-
sys/contrib/openzfs/module/zfs/dsl_userhold.c | 4 +-
sys/contrib/openzfs/module/zfs/edonr_zfs.c | 8 +-
sys/contrib/openzfs/module/zfs/fm.c | 2 +-
sys/contrib/openzfs/module/zfs/sa.c | 3 +-
.../openzfs/module/zfs/{sha256.c => sha2_zfs.c} | 14 +-
sys/contrib/openzfs/module/zfs/spa.c | 82 +-
sys/contrib/openzfs/module/zfs/spa_config.c | 4 +-
sys/contrib/openzfs/module/zfs/spa_errlog.c | 340 +-
sys/contrib/openzfs/module/zfs/spa_history.c | 2 +-
sys/contrib/openzfs/module/zfs/spa_misc.c | 7 +-
sys/contrib/openzfs/module/zfs/vdev.c | 49 +-
sys/contrib/openzfs/module/zfs/vdev_draid.c | 6 +-
sys/contrib/openzfs/module/zfs/vdev_label.c | 37 +-
sys/contrib/openzfs/module/zfs/vdev_raidz_math.c | 2 +-
sys/contrib/openzfs/module/zfs/vdev_removal.c | 2 +-
sys/contrib/openzfs/module/zfs/vdev_trim.c | 72 +-
sys/contrib/openzfs/module/zfs/zap_leaf.c | 2 +-
sys/contrib/openzfs/module/zfs/zcp.c | 2 +-
sys/contrib/openzfs/module/zfs/zcp_get.c | 2 +-
sys/contrib/openzfs/module/zfs/zcp_iter.c | 2 +-
sys/contrib/openzfs/module/zfs/zfs_chksum.c | 124 +-
sys/contrib/openzfs/module/zfs/zfs_fuid.c | 2 +-
sys/contrib/openzfs/module/zfs/zfs_impl.c | 61 +
sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 70 +-
sys/contrib/openzfs/module/zfs/zfs_log.c | 52 +
sys/contrib/openzfs/module/zfs/zfs_quota.c | 3 +-
sys/contrib/openzfs/module/zfs/zfs_replay.c | 30 +
sys/contrib/openzfs/module/zfs/zfs_vnops.c | 469 +-
sys/contrib/openzfs/module/zfs/zil.c | 191 +-
sys/contrib/openzfs/module/zfs/zio.c | 74 +-
sys/contrib/openzfs/module/zfs/zio_checksum.c | 11 +-
sys/contrib/openzfs/module/zfs/zio_compress.c | 7 +-
sys/contrib/openzfs/module/zfs/zvol.c | 55 +
sys/contrib/openzfs/scripts/kmodtool | 30 +-
sys/contrib/openzfs/scripts/mancheck.sh | 2 +-
sys/contrib/openzfs/tests/runfiles/common.run | 41 +-
.../tests/zfs-tests/callbacks/zfs_dbgmsg.ksh | 3 +
.../tests/zfs-tests/callbacks/zfs_dmesg.ksh | 3 +-
.../openzfs/tests/zfs-tests/callbacks/zfs_mmp.ksh | 1 +
.../tests/zfs-tests/cmd/checksum/blake3_test.c | 18 +-
.../tests/zfs-tests/cmd/checksum/edonr_test.c | 83 +-
.../tests/zfs-tests/cmd/checksum/sha2_test.c | 34 +-
sys/contrib/openzfs/tests/zfs-tests/cmd/draid.c | 2 +-
sys/contrib/openzfs/tests/zfs-tests/cmd/ereports.c | 4 +-
.../tests/zfs-tests/cmd/libzfs_input_check.c | 2 +-
.../openzfs/tests/zfs-tests/cmd/mmap_sync.c | 2 +-
.../openzfs/tests/zfs-tests/cmd/nvlist_to_lua.c | 2 +-
.../openzfs/tests/zfs-tests/cmd/renameat2.c | 2 +-
.../openzfs/tests/zfs-tests/tests/Makefile.am | 6 +
.../tests/functional/cli_root/zdb/zdb_args_neg.ksh | 2 +-
.../functional/cli_root/zdb/zdb_encrypted.ksh | 69 +
.../zfs_receive/zfs_receive_corrective.ksh | 2 +-
.../zfs_receive_large_block_corrective.ksh | 194 +
.../functional/cli_root/zpool_get/zpool_get.cfg | 4 +
.../cli_root/zpool_status/zpool_status_003_pos.ksh | 2 +
.../cli_root/zpool_status/zpool_status_005_pos.ksh | 20 +-
.../cli_root/zpool_status/zpool_status_006_pos.ksh | 97 +
.../cli_root/zpool_status/zpool_status_007_pos.ksh | 98 +
.../functional/migration/migration_012_pos.ksh | 4 +-
.../zfs-tests/tests/functional/mmap/mmap_mixed.ksh | 86 +
.../tests/functional/renameat2/cleanup.ksh | 2 +-
.../functional/renameat2/renameat2_exchange.ksh | 2 +-
.../functional/renameat2/renameat2_noreplace.ksh | 2 +-
.../functional/renameat2/renameat2_whiteout.ksh | 2 +-
.../zfs-tests/tests/functional/renameat2/setup.ksh | 2 +-
.../tests/functional/rsend/rsend_031_pos.ksh | 63 +
.../tests/functional/snapshot/snapshot_018_pos.ksh | 2 +-
.../openzfs/tests/zfs-tests/tests/perf/perf.shlib | 1 -
sys/modules/zfs/Makefile | 242 +-
sys/modules/zfs/zfs_config.h | 10 +-
sys/modules/zfs/zfs_gitrev.h | 2 +-
usr.sbin/fstyp/zfs.c | 2 +-
332 files changed, 47407 insertions(+), 17330 deletions(-)
diff --cc cddl/lib/libicp/Makefile
index d00a47f2529a,000000000000..db791854efae
mode 100644,000000..100644
--- a/cddl/lib/libicp/Makefile
+++ b/cddl/lib/libicp/Makefile
@@@ -1,121 -1,0 +1,143 @@@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
+
+PACKAGE= zfs
+LIB= icp
+LIBADD=
+
-
+.if ${MACHINE_ARCH} == "amd64"
+ASM_SOURCES_C = asm-x86_64/aes/aeskey.c
+ASM_SOURCES_AS = \
+ asm-x86_64/aes/aes_amd64.S \
+ asm-x86_64/aes/aes_aesni.S \
+ asm-x86_64/modes/gcm_pclmulqdq.S \
+ asm-x86_64/modes/aesni-gcm-x86_64.S \
+ asm-x86_64/modes/ghash-x86_64.S \
- asm-x86_64/sha2/sha256_impl.S \
- asm-x86_64/sha2/sha512_impl.S \
++ asm-x86_64/sha2/sha256-x86_64.S \
++ asm-x86_64/sha2/sha512-x86_64.S \
+ asm-x86_64/blake3/blake3_avx2.S \
+ asm-x86_64/blake3/blake3_avx512.S \
+ asm-x86_64/blake3/blake3_sse2.S \
+ asm-x86_64/blake3/blake3_sse41.S
+
+CFLAGS+= -D__amd64 -D_SYS_STACK_H -UHAVE_AES
++.elif ${MACHINE_ARCH} == "armv7"
++ASM_SOURCES_C =
++ASM_SOURCES_AS = \
++ asm-arm/sha2/sha256-armv7.S \
++ asm-arm/sha2/sha512-armv7.S
+.elif ${MACHINE_ARCH} == "aarch64"
+ASM_SOURCES_C =
+ASM_SOURCES_AS = \
+ asm-aarch64/blake3/b3_aarch64_sse2.S \
- asm-aarch64/blake3/b3_aarch64_sse41.S
++ asm-aarch64/blake3/b3_aarch64_sse41.S \
++ asm-aarch64/sha2/sha256-armv8.S \
++ asm-aarch64/sha2/sha512-armv8.S
++.elif ${MACHINE_ARCH} == "powerpc64"
++ASM_SOURCES_C =
++ASM_SOURCES_AS = \
++ asm-ppc64/sha2/sha256-ppc.S \
++ asm-ppc64/sha2/sha512-ppc.S \
++ asm-ppc64/sha2/sha256-p8.S \
++ asm-ppc64/sha2/sha512-p8.S
+.elif ${MACHINE_ARCH} == "powerpc64le"
+ASM_SOURCES_C =
+ASM_SOURCES_AS = \
+ asm-ppc64/blake3/b3_ppc64le_sse2.S \
- asm-ppc64/blake3/b3_ppc64le_sse41.S
++ asm-ppc64/blake3/b3_ppc64le_sse41.S \
++ asm-ppc64/sha2/sha256-ppc.S \
++ asm-ppc64/sha2/sha512-ppc.S \
++ asm-ppc64/sha2/sha256-p8.S \
++ asm-ppc64/sha2/sha512-p8.S
+.else
+ASM_SOURCES_C =
+ASM_SOURCES_AS =
+.endif
+
-
+KERNEL_C = \
+ spi/kcf_spi.c \
+ api/kcf_ctxops.c \
+ api/kcf_cipher.c \
+ api/kcf_mac.c \
+ algs/aes/aes_impl_aesni.c \
+ algs/aes/aes_impl_generic.c \
+ algs/aes/aes_impl_x86-64.c \
+ algs/aes/aes_impl.c \
+ algs/aes/aes_modes.c \
+ algs/blake3/blake3.c \
+ algs/blake3/blake3_generic.c \
+ algs/blake3/blake3_impl.c \
- algs/blake3/blake3_x86-64.c \
+ algs/edonr/edonr.c \
+ algs/modes/modes.c \
+ algs/modes/cbc.c \
+ algs/modes/gcm_generic.c \
+ algs/modes/gcm_pclmulqdq.c \
+ algs/modes/gcm.c \
+ algs/modes/ctr.c \
+ algs/modes/ccm.c \
+ algs/modes/ecb.c \
- algs/sha2/sha2.c \
++ algs/sha2/sha2_generic.c \
++ algs/sha2/sha256_impl.c \
++ algs/sha2/sha512_impl.c \
+ algs/skein/skein.c \
+ algs/skein/skein_block.c \
+ algs/skein/skein_iv.c \
+ illumos-crypto.c \
+ io/aes.c \
+ io/sha2_mod.c \
+ io/skein_mod.c \
+ core/kcf_sched.c \
+ core/kcf_prov_lib.c \
+ core/kcf_callprov.c \
+ core/kcf_mech_tabs.c \
+ core/kcf_prov_tabs.c \
+ $(ASM_SOURCES_C)
+
-
-
-
-
++.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zfs
++KERNEL_C+= zfs_impl.c
+
+SRCS= $(ASM_SOURCES_AS) $(KERNEL_C)
+
+WARNS?= 2
+SHLIB_MAJOR= 3
+CSTD= c99
+CFLAGS+= -DIN_BASE
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
+CFLAGS+= -I${SRCTOP}/sys
+CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
+CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
+CFLAGS+= -DHAVE_ISSETUGID
+CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
+
-
+CFLAGS.aes_amd64.S+= -DLOCORE
+CFLAGS.aes_aesni.S+= -DLOCORE
+CFLAGS.gcm_pclmulqdq.S+= -DLOCORE
+CFLAGS.aesni-gcm-x86_64.S+= -DLOCORE
+CFLAGS.ghash-x86_64.S+= -DLOCORE
- CFLAGS.sha256_impl.S+= -DLOCORE
- CFLAGS.sha512_impl.S+= -DLOCORE
++CFLAGS.sha256-x86_64.S+= -DLOCORE
++CFLAGS.sha512-x86_64.S+= -DLOCORE
+CFLAGS.blake3_avx2.S = -DLOCORE
+CFLAGS.blake3_avx512.S = -DLOCORE
+CFLAGS.blake3_sse2.S = -DLOCORE
+CFLAGS.blake3_sse41.S = -DLOCORE
+CFLAGS.b3_aarch64_sse2.S = -DLOCORE
+CFLAGS.b3_aarch64_sse41.S = -DLOCORE
++CFLAGS.sha256-armv7.S = -DLOCORE
++CFLAGS.sha256-armv8.S = -DLOCORE
++CFLAGS.sha512-armv7.S = -DLOCORE
++CFLAGS.sha512-armv8.S = -DLOCORE
+CFLAGS.b3_ppc64le_sse2.S = -DLOCORE
+CFLAGS.b3_ppc64le_sse41.S = -DLOCORE
++CFLAGS.sha256-p8.S = -DLOCORE
++CFLAGS.sha256-ppc.S = -DLOCORE
++CFLAGS.sha512-p8.S = -DLOCORE
++CFLAGS.sha512-ppc.S = -DLOCORE
+
+
+LDFLAGS.bfd+= -Wl,-znoexecstack
+
+.include <bsd.lib.mk>
diff --cc cddl/lib/libicp_rescue/Makefile
index 6c6c3998f85c,000000000000..7173f94238bb
mode 100644,000000..100644
--- a/cddl/lib/libicp_rescue/Makefile
+++ b/cddl/lib/libicp_rescue/Makefile
@@@ -1,114 -1,0 +1,140 @@@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
+
+PACKAGE= utilities
+LIB= icp_rescue
+LIBADD=
+
-
+.if ${MACHINE_ARCH} == "amd64"
+ASM_SOURCES_C = asm-x86_64/aes/aeskey.c
+ASM_SOURCES_AS = \
+ asm-x86_64/aes/aes_amd64.S \
+ asm-x86_64/aes/aes_aesni.S \
+ asm-x86_64/modes/gcm_pclmulqdq.S \
+ asm-x86_64/modes/aesni-gcm-x86_64.S \
- asm-x86_64/sha2/sha256_impl.S \
- asm-x86_64/sha2/sha512_impl.S \
++ asm-x86_64/sha2/sha256-x86_64.S \
++ asm-x86_64/sha2/sha512-x86_64.S \
+ asm-x86_64/blake3/blake3_avx2.S \
+ asm-x86_64/blake3/blake3_avx512.S \
+ asm-x86_64/blake3/blake3_sse2.S \
+ asm-x86_64/blake3/blake3_sse41.S
+
+CFLAGS+= -D__amd64 -D_SYS_STACK_H
++.elif ${MACHINE_ARCH} == "armv7"
++ASM_SOURCES_C =
++ASM_SOURCES_AS = \
++ asm-arm/sha2/sha256-armv7.S \
++ asm-arm/sha2/sha512-armv7.S
+.elif ${MACHINE_ARCH} == "aarch64"
+ASM_SOURCES_C =
+ASM_SOURCES_AS = \
+ asm-aarch64/blake3/b3_aarch64_sse2.S \
- asm-aarch64/blake3/b3_aarch64_sse41.S
++ asm-aarch64/blake3/b3_aarch64_sse41.S \
++ asm-aarch64/sha2/sha256-armv8.S \
++ asm-aarch64/sha2/sha512-armv8.S
++.elif ${MACHINE_ARCH} == "powerpc64"
++ASM_SOURCES_C =
++ASM_SOURCES_AS = \
++ asm-ppc64/sha2/sha256-ppc.S \
++ asm-ppc64/sha2/sha512-ppc.S \
++ asm-ppc64/sha2/sha256-p8.S \
++ asm-ppc64/sha2/sha512-p8.S
+.elif ${MACHINE_ARCH} == "powerpc64le"
+ASM_SOURCES_C =
+ASM_SOURCES_AS = \
+ asm-ppc64/blake3/b3_ppc64le_sse2.S \
- asm-ppc64/blake3/b3_ppc64le_sse41.S
++ asm-ppc64/blake3/b3_ppc64le_sse41.S \
++ asm-ppc64/sha2/sha256-ppc.S \
++ asm-ppc64/sha2/sha512-ppc.S \
++ asm-ppc64/sha2/sha256-p8.S \
++ asm-ppc64/sha2/sha512-p8.S
+.else
+ASM_SOURCES_C =
+ASM_SOURCES_AS =
+.endif
+
-
+KERNEL_C = \
+ spi/kcf_spi.c \
+ api/kcf_ctxops.c \
+ api/kcf_cipher.c \
+ api/kcf_mac.c \
+ algs/aes/aes_impl_aesni.c \
+ algs/aes/aes_impl_generic.c \
+ algs/aes/aes_impl_x86-64.c \
+ algs/aes/aes_impl.c \
+ algs/aes/aes_modes.c \
+ algs/blake3/blake3.c \
+ algs/blake3/blake3_generic.c \
+ algs/blake3/blake3_impl.c \
- algs/blake3/blake3_x86-64.c \
+ algs/edonr/edonr.c \
+ algs/modes/modes.c \
+ algs/modes/cbc.c \
+ algs/modes/gcm_generic.c \
+ algs/modes/gcm_pclmulqdq.c \
+ algs/modes/gcm.c \
+ algs/modes/ctr.c \
+ algs/modes/ccm.c \
+ algs/modes/ecb.c \
- algs/sha2/sha2.c \
++ algs/sha2/sha2_generic.c \
++ algs/sha2/sha256_impl.c \
++ algs/sha2/sha512_impl.c \
+ algs/skein/skein_block.c \
+ illumos-crypto.c \
+ io/aes.c \
+ io/sha2_mod.c \
+ io/skein_mod.c \
+ core/kcf_sched.c \
+ core/kcf_prov_lib.c \
+ core/kcf_callprov.c \
+ core/kcf_mech_tabs.c \
+ core/kcf_prov_tabs.c \
+ $(ASM_SOURCES_C)
+
++.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zfs
++KERNEL_C+= zfs_impl.c
++
+SRCS= $(ASM_SOURCES_AS) $(KERNEL_C)
+
+WARNS?= 2
+SHLIB_MAJOR= 3
+CSTD= c99
+CFLAGS+= -DIN_BASE
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
+CFLAGS+= -I${SRCTOP}/sys
+CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
+CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
+CFLAGS+= -DHAVE_ISSETUGID -UHAVE_AVX -DRESCUE
+CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
+
-
+CFLAGS.aes_amd64.S+= -DLOCORE
+CFLAGS.aes_aesni.S+= -DLOCORE
+CFLAGS.gcm_pclmulqdq.S+= -DLOCORE
+CFLAGS.aesni-gcm-x86_64.S+= -DLOCORE
+CFLAGS.ghash-x86_64.S+= -DLOCORE
- CFLAGS.sha256_impl.S+= -DLOCORE
- CFLAGS.sha512_impl.S+= -DLOCORE
++CFLAGS.sha256-x86_64.S+= -DLOCORE
++CFLAGS.sha512-x86_64.S+= -DLOCORE
+CFLAGS.gcm.c+= -UCAN_USE_GCM_ASM
+CFLAGS.blake3_avx2.S = -DLOCORE
+CFLAGS.blake3_avx512.S = -DLOCORE
+CFLAGS.blake3_sse2.S = -DLOCORE
+CFLAGS.blake3_sse41.S = -DLOCORE
+CFLAGS.b3_aarch64_sse2.S = -DLOCORE
+CFLAGS.b3_aarch64_sse41.S = -DLOCORE
++CFLAGS.sha256-armv7.S = -DLOCORE
++CFLAGS.sha512-armv7.S = -DLOCORE
++CFLAGS.sha256-armv8.S = -DLOCORE
++CFLAGS.sha512-armv8.S = -DLOCORE
+CFLAGS.b3_ppc64le_sse2.S = -DLOCORE
+CFLAGS.b3_ppc64le_sse41.S = -DLOCORE
-
++CFLAGS.sha256-ppc.S = -DLOCORE
++CFLAGS.sha256-p8.S = -DLOCORE
++CFLAGS.sha512-ppc.S = -DLOCORE
++CFLAGS.sha512-p8.S = -DLOCORE
+
+LDFLAGS.bfd+= -Wl,-znoexecstack
+
+.include <bsd.lib.mk>
diff --cc cddl/lib/libzfs/Makefile
index 2551b9ebdd57,000000000000..c8e61202d687
mode 100644,000000..100644
--- a/cddl/lib/libzfs/Makefile
+++ b/cddl/lib/libzfs/Makefile
@@@ -1,108 -1,0 +1,107 @@@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
+.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zcommon
+.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs
+.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs/os/freebsd
+.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libshare
+.PATH: ${SRCTOP}/sys/contrib/openzfs/include
+.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd
+.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd/lib
+
+PACKAGE= zfs
+LIB= zfs
+LIBADD= \
+ avl \
+ bsdxml \
+ crypto \
+ geom \
+ m \
+ md \
+ nvpair \
+ pthread \
+ umem \
+ util \
+ uutil \
+ z \
+ zfs_core \
+ zutil
+
+INCS= libzfs.h
+USER_C = \
+ libzfs_changelist.c \
+ libzfs_config.c \
+ libzfs_crypto.c \
+ libzfs_dataset.c \
+ libzfs_diff.c \
+ libzfs_import.c \
+ libzfs_iter.c \
+ libzfs_mount.c \
+ libzfs_pool.c \
+ libzfs_sendrecv.c \
+ libzfs_status.c \
+ libzfs_util.c
+
+# FreeBSD
+USER_C += \
+ libzfs_compat.c \
+ libzfs_zmount.c
+
+# libshare
+USER_C += \
+ libshare.c \
+ nfs.c \
+ os/freebsd/nfs.c \
+ os/freebsd/smb.c
+
+KERNEL_C = \
- algs/sha2/sha2.c \
+ cityhash.c \
+ zfeature_common.c \
+ zfs_comutil.c \
+ zfs_deleg.c \
+ zfs_fletcher.c \
+ zfs_fletcher_superscalar.c \
+ zfs_fletcher_superscalar4.c \
+ zfs_namecheck.c \
+ zfs_prop.c \
+ zpool_prop.c \
+ zprop_common.c
+
+
+ARCH_C =
+.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
+ARCH_C += zfs_fletcher_intel.c \
+ zfs_fletcher_sse.c
+CFLAGS += -DHAVE_SSE2
+.endif
+.if ${MACHINE_ARCH} == "amd64"
+ARCH_C += zfs_fletcher_avx512.c
+CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F
+.endif
+.if ${MACHINE_CPUARCH} == "aarch64"
+ARCH_C += zfs_fletcher_aarch64_neon.c
+.endif
+
+SRCS= $(USER_C) $(KERNEL_C) $(ARCH_C)
+
+WARNS?= 2
+SHLIB_MAJOR= 4
+CSTD= c99
+CFLAGS+= -DIN_BASE
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libshare
+CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include
+CFLAGS+= -I${SRCTOP}/sys
+CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
+CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
+CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
+CFLAGS+= -DHAVE_ISSETUGID
+CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
+CFLAGS+= -DSYSCONFDIR=\"/etc\"
+CFLAGS+= -DPKGDATADIR=\"/usr/share/zfs\"
+
+
+.include <bsd.lib.mk>
diff --cc cddl/lib/libzpool/Makefile
index aeb2b4175a3b,000000000000..5dbeb9cb1721
mode 100644,000000..100644
--- a/cddl/lib/libzpool/Makefile
+++ b/cddl/lib/libzpool/Makefile
@@@ -1,337 -1,0 +1,338 @@@
+# $FreeBSD$
+
+ZFSTOP= ${SRCTOP}/sys/contrib/openzfs
+
+# ZFS_COMMON_SRCS
+.PATH: ${ZFSTOP}/module/zfs
+.PATH: ${ZFSTOP}/module/zcommon
+.PATH: ${ZFSTOP}/module/unicode
+# LUA_SRCS
+.PATH: ${ZFSTOP}/module/lua
+# ZSTD_SRCS
+.PATH: ${ZFSTOP}/module/zstd
+.PATH: ${ZFSTOP}/module/zstd/lib/common
+.PATH: ${ZFSTOP}/module/zstd/lib/compress
+.PATH: ${ZFSTOP}/module/zstd/lib/decompress
+
+.PATH: ${ZFSTOP}/module/os/linux/zfs
+
+.PATH: ${ZFSTOP}/lib/libzpool
+
+.if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S)
+.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}
+ATOMIC_SRCS= opensolaris_atomic.S
+ACFLAGS+= -Wa,--noexecstack
+.else
+.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern
+ATOMIC_SRCS= opensolaris_atomic.c
+.endif
+
+.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpcspe"
+# Don't waste GOT entries on small data.
+PICFLAG= -fPIC
+.endif
+
+PACKAGE= zfs
+LIB= zpool
+
+USER_C = \
+ kernel.c \
+ taskq.c \
+ util.c
+
+KERNEL_C = \
+ zfeature_common.c \
+ zfs_comutil.c \
+ zfs_deleg.c \
+ zfs_fletcher.c \
+ zfs_fletcher_superscalar.c \
+ zfs_fletcher_superscalar4.c \
+ zfs_namecheck.c \
+ zfs_prop.c \
+ zfs_zstd.c \
+ zpool_prop.c \
+ zprop_common.c \
+ abd.c \
+ abd_os.c \
+ aggsum.c \
+ arc.c \
+ arc_os.c \
+ blake3_zfs.c \
+ blkptr.c \
+ bplist.c \
+ bpobj.c \
+ bptree.c \
- btree.c \
+ bqueue.c \
++ btree.c \
++ brt.c \
+ cityhash.c \
+ dbuf.c \
+ dbuf_stats.c \
+ ddt.c \
+ ddt_zap.c \
+ dmu.c \
+ dmu_diff.c \
+ dmu_object.c \
+ dmu_objset.c \
+ dmu_recv.c \
+ dmu_redact.c \
+ dmu_send.c \
+ dmu_traverse.c \
+ dmu_tx.c \
+ dmu_zfetch.c \
+ dnode.c \
+ dnode_sync.c \
+ dsl_bookmark.c \
+ dsl_dataset.c \
+ dsl_deadlist.c \
+ dsl_deleg.c \
+ dsl_dir.c \
+ dsl_crypt.c \
+ dsl_pool.c \
+ dsl_prop.c \
+ dsl_scan.c \
+ dsl_synctask.c \
+ dsl_destroy.c \
+ dsl_userhold.c \
+ edonr_zfs.c \
+ entropy_common.c \
+ error_private.c \
+ fm.c \
+ fse_compress.c \
+ fse_decompress.c \
+ gzip.c \
+ hist.c \
+ hkdf.c \
+ huf_compress.c \
+ huf_decompress.c \
+ lzjb.c \
+ lz4.c \
+ lz4_zfs.c \
+ metaslab.c \
+ mmp.c \
+ multilist.c \
+ objlist.c \
+ pathname.c \
+ pool.c \
+ range_tree.c \
+ refcount.c \
+ rrwlock.c \
+ sa.c \
- sha256.c \
++ sha2_zfs.c \
+ skein_zfs.c \
+ spa.c \
+ spa_checkpoint.c \
+ spa_config.c \
+ spa_errlog.c \
+ spa_history.c \
+ spa_log_spacemap.c \
+ spa_misc.c \
+ spa_stats.c \
+ space_map.c \
+ space_reftree.c \
+ txg.c \
+ trace.c \
+ uberblock.c \
+ unique.c \
+ vdev.c \
+ vdev_cache.c \
+ vdev_draid.c \
+ vdev_draid_rand.c \
+ vdev_file.c \
+ vdev_indirect_births.c \
+ vdev_indirect.c \
*** 14923 LINES SKIPPED ***