The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=df58e8b1506f241670be86a560fb6e8432043aee
commit df58e8b1506f241670be86a560fb6e8432043aee Merge: 02f394281fd6 8302b6e32bb1 Author: Martin Matuska <m...@freebsd.org> AuthorDate: 2025-08-07 07:06:31 +0000 Commit: Martin Matuska <m...@freebsd.org> CommitDate: 2025-08-07 07:06:31 +0000 zfs: merge openzfs/zfs@8302b6e32 Notable upstream pull request merges: #16853 894edd084 Add TXG timestamp database #17004 -multiple Implement dynamic gang header sizes #17405 dea0fc969 ZVOL: Return early, if volmode is ZFS_VOLMODE_NONE on FreeBSD side #17455 cf146460c Default to zfs_bclone_wait_dirty=1 #17481 523d9d600 Validate mountpoint on path-based unmount using statx #17482 92da9e0e9 ZVOL: Implement zvol_alloc() function on FreeBSD side #17489 dee62e074 spa: ZIO_TASKQ_ISSUE: Use symbolic priority #17496 bf846dcb7 Release topology restrictions on special/dedup #17497 4e92aee23 Relax special_small_blocks restrictions #17503 ea38787f2 Revert "Fix incorrect expected error in ztest" #17505 be1e991a1 Allow and prefer special vdevs as ZIL #17506 ee0cb4cb8 ztest: Fix false positive of ENOSPC handling #17507 92d3b4ee2 zio: rename `io_reexecute` as `io_post`; use it for the direct IO checksum error flag #17508 6af8db61b metaslab: don't pass whole zio to throttle reserve APIs #17518 4c2a7f85d FreeBSD: Add support for _PC_HAS_HIDDENSYSTEM #17521 d7ab07dfb ZIL: Force writing of open LWB on suspend #17524 b6e8db509 zpool/zfs: Add '-a|--all' option to scrub, trim, initialize #17531 c1e51c55f Correct weight recalculation of space-based metaslabs #17533 d323fbf49 FreeBSD: zfs_putpages: don't undirty pages until after write completes #17536 b21e04e8d Fix zdb pool/ with -k #17537 -multiple Userspace tunables #17540 2957eabbe Add support for FreeBSD's Solaris style extended attribute interface #17547 4bd7a2eaa zdb: fix checksum calculation for decompressed blocks #17551 -multiple cleanup: remove var init/update #17561 0f8a1105e Skip dbuf_evict_one() from dbuf_evict_notify() for reclaim thread #17563 10a78e264 Faster checksum benchmark on system boot #17564 00ce064d8 spa: update blkptr diagram to include vdev padding on encrypted blocks #17565 -multiple Physical rewrite #17566 fc885f308 Don't use wrong weight when passivating group #17572 f70c85086 BRT: Fix ZAP entry endianness #17575 0b6fd024a ZVOL: Unify zvol minors operations and improve error handling #17581 cb5e7e097 range_tree: Provide more debug details upon unexpected add/remove #17587 -multiple Fix two issues with dynamic gang headers Obtained from: OpenZFS OpenZFS commit: 8302b6e32bb153a6f402b106484d5736f082abcc cddl/lib/libspl/Makefile | 1 + cddl/lib/libzpool/Makefile | 2 + stand/libsa/zfs/spl/sys/zfs_context.h | 2 +- sys/conf/files | 1 + sys/contrib/openzfs/.cirrus.yml | 21 -- sys/contrib/openzfs/.github/codeql-cpp.yml | 1 + .../cpp/dslDatasetHoldReleMismatch.ql | 34 ++ .../.github/workflows/scripts/qemu-2-start.sh | 8 - .../.github/workflows/scripts/qemu-3-deps-vm.sh | 3 +- .../.github/workflows/scripts/qemu-6-tests.sh | 6 +- sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 22 +- sys/contrib/openzfs/.github/workflows/zloop.yml | 24 +- sys/contrib/openzfs/cmd/arc_summary | 3 + sys/contrib/openzfs/cmd/zdb/zdb.c | 103 ++++-- sys/contrib/openzfs/cmd/zdb/zdb_il.c | 8 +- sys/contrib/openzfs/cmd/zed/agents/zfs_agents.c | 67 ++-- sys/contrib/openzfs/cmd/zed/zed_event.c | 2 +- sys/contrib/openzfs/cmd/zfs/zfs_main.c | 36 +- sys/contrib/openzfs/cmd/zpool/zpool_iter.c | 5 +- sys/contrib/openzfs/cmd/zpool/zpool_main.c | 264 +++++++++----- sys/contrib/openzfs/cmd/zpool/zpool_vdev.c | 24 +- sys/contrib/openzfs/cmd/ztest.c | 51 +-- sys/contrib/openzfs/config/ax_python_devel.m4 | 4 +- sys/contrib/openzfs/config/kernel-free-inode.m4 | 24 ++ sys/contrib/openzfs/config/kernel.m4 | 2 + sys/contrib/openzfs/config/user-statx.m4 | 34 ++ sys/contrib/openzfs/config/user.m4 | 1 + .../contrib/debian/openzfs-zfsutils.install | 1 + sys/contrib/openzfs/etc/Makefile.am | 1 + .../etc/systemd/system/zfs-mo...@.service.in | 26 ++ sys/contrib/openzfs/include/Makefile.am | 2 +- sys/contrib/openzfs/include/libzfs.h | 15 + sys/contrib/openzfs/include/os/freebsd/Makefile.am | 2 +- .../openzfs/include/os/freebsd/spl/sys/misc.h | 5 + .../include/os/freebsd/spl/sys/{mod_os.h => mod.h} | 0 .../openzfs/include/os/freebsd/spl/sys/vm.h | 1 + .../include/os/freebsd/spl/sys/vnode_impl.h | 1 + sys/contrib/openzfs/include/os/linux/Makefile.am | 2 +- .../openzfs/include/os/linux/spl/sys/atomic.h | 32 ++ .../openzfs/include/os/linux/spl/sys/kmem.h | 61 +--- .../openzfs/include/os/linux/spl/sys/misc.h | 6 + .../include/os/linux/spl/sys/{mod_os.h => mod.h} | 0 .../openzfs/include/os/linux/zfs/sys/trace_acl.h | 7 +- .../include/os/linux/zfs/sys/trace_common.h | 8 +- .../include/os/linux/zfs/sys/zfs_znode_impl.h | 1 + sys/contrib/openzfs/include/sys/arc_impl.h | 2 +- sys/contrib/openzfs/include/sys/dbuf.h | 1 + sys/contrib/openzfs/include/sys/dmu.h | 4 + sys/contrib/openzfs/include/sys/dmu_objset.h | 2 +- sys/contrib/openzfs/include/sys/dmu_traverse.h | 7 + sys/contrib/openzfs/include/sys/fs/zfs.h | 3 + sys/contrib/openzfs/include/sys/metaslab.h | 7 +- sys/contrib/openzfs/include/sys/metaslab_impl.h | 2 + sys/contrib/openzfs/include/sys/mod.h | 36 -- sys/contrib/openzfs/include/sys/range_tree.h | 9 + sys/contrib/openzfs/include/sys/spa.h | 75 ++-- sys/contrib/openzfs/include/sys/spa_impl.h | 9 + sys/contrib/openzfs/include/sys/vdev.h | 16 +- sys/contrib/openzfs/include/sys/vdev_impl.h | 4 +- sys/contrib/openzfs/include/sys/xvattr.h | 1 + sys/contrib/openzfs/include/sys/zfs_context.h | 20 +- sys/contrib/openzfs/include/sys/zfs_znode.h | 2 - sys/contrib/openzfs/include/sys/zil.h | 4 + sys/contrib/openzfs/include/sys/zio.h | 71 ++-- sys/contrib/openzfs/include/sys/zvol.h | 3 +- sys/contrib/openzfs/include/sys/zvol_impl.h | 3 +- sys/contrib/openzfs/include/zfeature_common.h | 13 +- sys/contrib/openzfs/include/zfs_crrd.h | 75 ++++ sys/contrib/openzfs/lib/libspl/Makefile.am | 1 + sys/contrib/openzfs/lib/libspl/include/Makefile.am | 2 + .../openzfs/lib/libspl/include/os/linux/sys/stat.h | 5 + sys/contrib/openzfs/lib/libspl/include/sys/mod.h | 56 +++ .../openzfs/lib/libspl/include/sys/tunables.h | 60 ++++ sys/contrib/openzfs/lib/libspl/include/umem.h | 2 +- .../openzfs/lib/libspl/os/linux/getmntany.c | 36 +- sys/contrib/openzfs/lib/libspl/tunables.c | 319 +++++++++++++++++ sys/contrib/openzfs/lib/libuutil/libuutil.abi | 196 ++++++++++- sys/contrib/openzfs/lib/libzdb/libzdb.c | 4 +- sys/contrib/openzfs/lib/libzfs/libzfs.abi | 246 ++++++++++++- sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c | 2 +- sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c | 37 +- sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 128 +++++-- sys/contrib/openzfs/lib/libzfs/libzfs_status.c | 3 +- .../openzfs/lib/libzfs_core/libzfs_core.abi | 206 ++++++++++- sys/contrib/openzfs/lib/libzpool/Makefile.am | 3 +- sys/contrib/openzfs/lib/libzpool/kernel.c | 18 +- sys/contrib/openzfs/lib/libzpool/util.c | 172 +++++---- sys/contrib/openzfs/man/man1/ztest.1 | 8 +- sys/contrib/openzfs/man/man4/zfs.4 | 51 ++- sys/contrib/openzfs/man/man7/zfsprops.7 | 36 +- sys/contrib/openzfs/man/man7/zpool-features.7 | 41 +++ sys/contrib/openzfs/man/man7/zpoolconcepts.7 | 9 +- sys/contrib/openzfs/man/man8/zdb.8 | 13 +- sys/contrib/openzfs/man/man8/zfs-rewrite.8 | 28 +- sys/contrib/openzfs/man/man8/zpool-events.8 | 4 +- sys/contrib/openzfs/man/man8/zpool-initialize.8 | 7 +- sys/contrib/openzfs/man/man8/zpool-scrub.8 | 51 ++- sys/contrib/openzfs/man/man8/zpool-trim.8 | 7 +- sys/contrib/openzfs/module/Kbuild.in | 32 ++ sys/contrib/openzfs/module/Makefile.bsd | 1 + sys/contrib/openzfs/module/Makefile.in | 2 +- .../openzfs/module/os/freebsd/spl/spl_misc.c | 9 + sys/contrib/openzfs/module/os/freebsd/spl/spl_vm.c | 1 + .../openzfs/module/os/freebsd/zfs/zfs_acl.c | 32 ++ .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c | 32 +- .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 387 +++++++++++++++++++-- .../openzfs/module/os/freebsd/zfs/zfs_znode_os.c | 7 - .../openzfs/module/os/freebsd/zfs/zvol_os.c | 155 +++++---- sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c | 22 +- sys/contrib/openzfs/module/os/linux/spl/spl-proc.c | 10 +- .../openzfs/module/os/linux/spl/spl-thread.c | 12 + sys/contrib/openzfs/module/os/linux/zfs/abd_os.c | 4 - .../openzfs/module/os/linux/zfs/zfs_ctldir.c | 2 - .../openzfs/module/os/linux/zfs/zfs_file_os.c | 23 -- .../openzfs/module/os/linux/zfs/zfs_vfsops.c | 65 ++++ .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 99 +++--- .../openzfs/module/os/linux/zfs/zfs_znode_os.c | 24 +- sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 41 --- .../openzfs/module/os/linux/zfs/zpl_super.c | 12 + sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 36 +- .../openzfs/module/zcommon/zfeature_common.c | 24 ++ sys/contrib/openzfs/module/zcommon/zfs_prop.c | 11 +- sys/contrib/openzfs/module/zcommon/zfs_valstr.c | 3 +- sys/contrib/openzfs/module/zfs/arc.c | 32 +- sys/contrib/openzfs/module/zfs/bpobj.c | 4 +- sys/contrib/openzfs/module/zfs/brt.c | 70 +++- sys/contrib/openzfs/module/zfs/dbuf.c | 82 ++++- sys/contrib/openzfs/module/zfs/ddt.c | 15 +- sys/contrib/openzfs/module/zfs/dmu.c | 11 +- sys/contrib/openzfs/module/zfs/dmu_diff.c | 4 +- sys/contrib/openzfs/module/zfs/dmu_direct.c | 2 +- sys/contrib/openzfs/module/zfs/dmu_objset.c | 8 +- sys/contrib/openzfs/module/zfs/dmu_recv.c | 8 +- sys/contrib/openzfs/module/zfs/dmu_redact.c | 4 +- sys/contrib/openzfs/module/zfs/dmu_send.c | 4 +- sys/contrib/openzfs/module/zfs/dmu_traverse.c | 17 +- sys/contrib/openzfs/module/zfs/dnode.c | 19 +- sys/contrib/openzfs/module/zfs/dsl_bookmark.c | 2 +- sys/contrib/openzfs/module/zfs/dsl_crypt.c | 2 +- sys/contrib/openzfs/module/zfs/dsl_dataset.c | 20 +- sys/contrib/openzfs/module/zfs/dsl_deadlist.c | 4 +- sys/contrib/openzfs/module/zfs/dsl_destroy.c | 12 +- sys/contrib/openzfs/module/zfs/dsl_pool.c | 2 +- sys/contrib/openzfs/module/zfs/dsl_scan.c | 27 +- sys/contrib/openzfs/module/zfs/metaslab.c | 182 +++++----- sys/contrib/openzfs/module/zfs/range_tree.c | 96 +++-- sys/contrib/openzfs/module/zfs/spa.c | 194 ++++++++++- sys/contrib/openzfs/module/zfs/spa_errlog.c | 4 +- sys/contrib/openzfs/module/zfs/spa_misc.c | 11 + sys/contrib/openzfs/module/zfs/vdev.c | 57 ++- sys/contrib/openzfs/module/zfs/vdev_indirect.c | 2 +- sys/contrib/openzfs/module/zfs/vdev_initialize.c | 5 +- sys/contrib/openzfs/module/zfs/vdev_mirror.c | 4 +- sys/contrib/openzfs/module/zfs/vdev_raidz.c | 28 +- sys/contrib/openzfs/module/zfs/vdev_rebuild.c | 5 +- sys/contrib/openzfs/module/zfs/vdev_removal.c | 30 +- sys/contrib/openzfs/module/zfs/vdev_trim.c | 24 +- sys/contrib/openzfs/module/zfs/zap.c | 2 +- sys/contrib/openzfs/module/zfs/zcp.c | 2 +- sys/contrib/openzfs/module/zfs/zfs_chksum.c | 69 ++-- sys/contrib/openzfs/module/zfs/zfs_crrd.c | 227 ++++++++++++ sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 36 +- sys/contrib/openzfs/module/zfs/zfs_log.c | 16 +- sys/contrib/openzfs/module/zfs/zfs_vnops.c | 31 +- sys/contrib/openzfs/module/zfs/zil.c | 95 ++++- sys/contrib/openzfs/module/zfs/zio.c | 326 +++++++++++------ sys/contrib/openzfs/module/zfs/zio_checksum.c | 31 +- sys/contrib/openzfs/module/zfs/zvol.c | 342 ++++++++++-------- sys/contrib/openzfs/module/zstd/zfs_zstd.c | 3 +- sys/contrib/openzfs/rpm/generic/zfs.spec.in | 16 +- sys/contrib/openzfs/scripts/spdxcheck.pl | 1 - sys/contrib/openzfs/tests/runfiles/common.run | 22 +- sys/contrib/openzfs/tests/runfiles/sanity.run | 2 +- .../tests/test-runner/bin/test-runner.py.in | 5 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 4 +- .../openzfs/tests/test-runner/include/logapi.shlib | 7 +- .../tests/zfs-tests/callbacks/zfs_dmesg.ksh | 7 +- sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore | 1 + .../openzfs/tests/zfs-tests/cmd/Makefile.am | 4 +- sys/contrib/openzfs/tests/zfs-tests/cmd/draid.c | 2 +- .../openzfs/tests/zfs-tests/cmd/idmap_util.c | 2 +- sys/contrib/openzfs/tests/zfs-tests/cmd/mktree.c | 2 +- .../openzfs/tests/zfs-tests/cmd/mmap_ftruncate.c | 85 +++++ .../openzfs/tests/zfs-tests/cmd/mmapwrite.c | 4 +- .../openzfs/tests/zfs-tests/include/commands.cfg | 1 + .../openzfs/tests/zfs-tests/include/libtest.shlib | 4 +- .../openzfs/tests/zfs-tests/include/tunables.cfg | 1 + .../openzfs/tests/zfs-tests/tests/Makefile.am | 15 +- .../functional/alloc_class/alloc_class_002_neg.ksh | 5 - .../functional/alloc_class/alloc_class_003_pos.ksh | 8 +- .../functional/alloc_class/alloc_class_004_pos.ksh | 5 +- .../functional/alloc_class/alloc_class_009_pos.ksh | 5 +- .../functional/alloc_class/alloc_class_010_pos.ksh | 2 +- .../functional/alloc_class/alloc_class_011_neg.ksh | 4 +- .../functional/alloc_class/alloc_class_014_neg.ksh | 39 --- .../functional/alloc_class/alloc_class_015_pos.ksh | 46 --- ...ock_cloning_copyfilerange_fallback_same_txg.ksh | 21 ++ .../tests/functional/cli_root/zdb/zdb_tunables.ksh | 71 ++++ .../cli_root/zfs_rewrite/zfs_rewrite_physical.ksh | 100 ++++++ .../zpool_create/zpool_create_features_001_pos.ksh | 2 +- .../zpool_create/zpool_create_features_005_pos.ksh | 3 + .../functional/cli_root/zpool_get/zpool_get.cfg | 3 + .../zpool_initialize_multiple_pools.ksh | 131 +++++++ .../cli_root/zpool_scrub/zpool_scrub_001_neg.ksh | 3 +- .../zpool_scrub/zpool_scrub_date_range_001.ksh | 94 +++++ .../zpool_scrub/zpool_scrub_multiple_pools.ksh | 128 +++++++ .../zpool_trim/zpool_trim_multiple_pools.ksh | 123 +++++++ .../tests/functional/cp_files/cp_files_002_pos.ksh | 4 +- .../functional/gang_blocks/gang_blocks.kshlib | 17 + .../gang_blocks/gang_blocks_dyn_header_neg.ksh | 53 +++ .../gang_blocks/gang_blocks_dyn_header_pos.ksh | 81 +++++ .../gang_blocks/gang_blocks_dyn_multi.ksh | 54 +++ .../tests/functional/mmap/mmap_ftruncate.ksh | 80 +++++ .../functional/pool_checkpoint/checkpoint_zdb.ksh | 2 + sys/modules/zfs/Makefile | 1 + sys/modules/zfs/zfs_config.h | 16 +- sys/modules/zfs/zfs_gitrev.h | 2 +- 217 files changed, 5829 insertions(+), 1720 deletions(-) diff --cc cddl/lib/libspl/Makefile index d44e5cb19ab4,000000000000..13fd6d96f2af mode 100644,000000..100644 --- a/cddl/lib/libspl/Makefile +++ b/cddl/lib/libspl/Makefile @@@ -1,49 -1,0 +1,50 @@@ +.include <bsd.init.mk> +.include <bsd.compiler.mk> + +.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libspl +.PATH: ${SRCTOP}/sys/contrib/openzfs/include + +LIB= spl +LIBADD= +PACKAGE= libzfs + +SRCS = \ + assert.c \ + backtrace.c \ + list.c \ + mkdirp.c \ + os/freebsd/zone.c \ + page.c \ + timestamp.c \ ++ tunables.c \ + include/sys/list.h \ + include/sys/list_impl.h + +# These functions are not required when bootstrapping and the atomic code +# will not compile when building on macOS. +.if !defined(BOOTSTRAPPING) +SRCS += \ + atomic.c \ + getexecname.c \ + os/freebsd/getexecname.c \ + os/freebsd/gethostid.c \ + os/freebsd/getmntany.c \ + os/freebsd/mnttab.c +.endif + +WARNS?= 2 +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}/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 +.if ${COMPILER_TYPE} == "clang" +CFLAGS.atomic.c+= -Wno-error=atomic-alignment +.endif + +.include <bsd.lib.mk> diff --cc cddl/lib/libzpool/Makefile index 5a69843d6c8e,000000000000..4da3840e59f0 mode 100644,000000..100644 --- a/cddl/lib/libzpool/Makefile +++ b/cddl/lib/libzpool/Makefile @@@ -1,342 -1,0 +1,344 @@@ +ZFSTOP= ${SRCTOP}/sys/contrib/openzfs + +.PATH: ${ZFSTOP}/lib/libzpool + +# 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 + +.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 = \ + arc_os.c \ + kernel.c \ + taskq.c \ + util.c \ + zfs_debug.c + +.PATH: ${ZFSTOP}/module/os/linux/zfs + +KERNEL_C = \ + simd_stat.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 \ + blake3_zfs.c \ + blkptr.c \ + bplist.c \ + bpobj.c \ + bptree.c \ + bqueue.c \ + btree.c \ + brt.c \ + cityhash.c \ + dbuf.c \ + dbuf_stats.c \ + ddt.c \ + ddt_log.c \ + ddt_stats.c \ + ddt_zap.c \ + dmu.c \ + dmu_diff.c \ + dmu_direct.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 \ + 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_draid.c \ + vdev_draid_rand.c \ + vdev_file.c \ + vdev_indirect_births.c \ + vdev_indirect.c \ + vdev_indirect_mapping.c \ + vdev_initialize.c \ + vdev_label.c \ + vdev_label_os.c \ + vdev_mirror.c \ + vdev_missing.c \ + vdev_queue.c \ + vdev_raidz.c \ + vdev_raidz_math_aarch64_neon.c \ + vdev_raidz_math_aarch64_neonx2.c \ + vdev_raidz_math_avx2.c \ + vdev_raidz_math_avx512bw.c \ + vdev_raidz_math_avx512f.c \ + vdev_raidz_math.c \ + vdev_raidz_math_scalar.c \ + vdev_rebuild.c \ + vdev_removal.c \ + vdev_root.c \ + vdev_trim.c \ + xxhash.c \ + zap.c \ + zap_leaf.c \ + zap_micro.c \ + zcp.c \ + zcp_get.c \ + zcp_global.c \ + zcp_iter.c \ + zcp_set.c \ + zcp_synctask.c \ + zfeature.c \ + zfs_byteswap.c \ + zfs_chksum.c \ ++ zfs_crrd.c \ ++ zfs_debug_common.c \ + zfs_fm.c \ + zfs_fuid.c \ + zfs_sa.c \ + zfs_znode.c \ + zfs_racct.c \ + zfs_ratelimit.c \ + zfs_rlock.c \ + zil.c \ + zio.c \ + zio_checksum.c \ + zio_compress.c \ + zio_crypt.c \ + zio_inject.c \ + zle.c \ + zrlock.c \ + zstd_common.c \ + zstd_compress.c \ + zstd_compress_literals.c \ + zstd_compress_sequences.c \ + zstd_compress_superblock.c \ + zstd_ddict.c \ + zstd_decompress.c \ + zstd_decompress_block.c \ + zstd_double_fast.c \ + zstd_fast.c \ + zstd_lazy.c \ + zstd_ldm.c \ + zstd_opt.c \ + zthr.c + +ARCH_C = +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" +ARCH_C += vdev_raidz_math_sse2.c \ + vdev_raidz_math_ssse3.c \ + zfs_fletcher_intel.c \ + zfs_fletcher_sse.c +CFLAGS += -DHAVE_SSE2 -DHAVE_SSE3 +.endif +.if ${MACHINE_ARCH} == "amd64" +ARCH_C += zfs_fletcher_avx512.c +CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \ + -DHAVE_AVX512BW +.endif +.if ${MACHINE_CPUARCH} == "aarch64" +ARCH_C += zfs_fletcher_aarch64_neon.c +.endif + +LUA_C = \ + lapi.c \ + lauxlib.c \ + lbaselib.c \ + lcode.c \ + lcompat.c \ + lcorolib.c \ + lctype.c \ + ldebug.c \ + ldo.c \ + lfunc.c \ + lgc.c \ + llex.c \ + lmem.c \ + lobject.c \ + lopcodes.c \ + lparser.c \ + lstate.c \ + lstring.c \ + lstrlib.c \ + ltable.c \ + ltablib.c \ + ltm.c \ + lvm.c \ + lzio.c + +UNICODE_C = u8_textprep.c + +SRCS+= ${USER_C} ${KERNEL_C} ${LUA_C} ${UNICODE_C} ${ARCH_C} + + +WARNS?= 2 +CFLAGS+= \ + -DIN_BASE \ + -I${ZFSTOP}/include \ + -I${ZFSTOP}/lib/libspl/include \ + -I${ZFSTOP}/lib/libspl/include/os/freebsd \ + -I${SRCTOP}/sys/contrib/openzfs/lib/libzpool/include \ + -I${SRCTOP}/sys \ + -I${ZFSTOP}/include/os/freebsd/zfs \ + -I${SRCTOP}/cddl/compat/opensolaris/include \ + -I${ZFSTOP}/module/icp/include \ + -I${SRCTOP}/compat/linuxkpi/common/include/linux \ + -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h \ + -DHAVE_ISSETUGID \ + -include ${SRCTOP}/sys/modules/zfs/zfs_config.h \ + -I${SRCTOP}/sys/modules/zfs \ + -I${ZFSTOP}/include/os/freebsd/zfs \ + -DLIB_ZPOOL_BUILD -DZFS_DEBUG \ + +# XXX: pthread doesn't have mutex_owned() equivalent, so we need to look +# into libthr private structures. That's sooo evil, but it's only for +# ZFS debugging tools needs. +CFLAGS+= -DWANTS_MUTEX_OWNED +CFLAGS+= -I${SRCTOP}/lib/libpthread/thread +CFLAGS+= -I${SRCTOP}/lib/libpthread/sys +CFLAGS+= -I${SRCTOP}/lib/libthr/arch/${MACHINE_CPUARCH}/include +CFLAGS.gcc+= -fms-extensions + +LIBADD= md pthread z spl icp nvpair avl umem + +CSTD= c99 + +# Since there are many asserts in this library, it makes no sense to compile +# it without debugging. + +CFLAGS+= -g -DDEBUG=1 + +CFLAGS.gcc+= -Wno-pointer-to-int-cast + +# Pointer values are used as debugging "tags" to mark reference count +# ownerships and in some cases the tag reference is dropped after an +# object is freed. +CFLAGS.dbuf.c= ${NO_WUSE_AFTER_FREE} +CFLAGS.entropy_common.c= -fno-tree-vectorize +CFLAGS.entropy_common.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.error_private.c= -fno-tree-vectorize +CFLAGS.error_private.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.fse_compress.c= -fno-tree-vectorize +CFLAGS.fse_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.fse_decompress.c= -fno-tree-vectorize +CFLAGS.fse_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.hist.c= -fno-tree-vectorize +CFLAGS.hist.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.huf_compress.c= -fno-tree-vectorize +CFLAGS.huf_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.huf_decompress.c= -fno-tree-vectorize +CFLAGS.huf_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.pool.c= -fno-tree-vectorize +CFLAGS.pool.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.xxhash.c= -fno-tree-vectorize +CFLAGS.xxhash.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress.c= -fno-tree-vectorize +CFLAGS.zstd_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_literals.c= -fno-tree-vectorize +CFLAGS.zstd_compress_literals.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_sequences.c= -fno-tree-vectorize +CFLAGS.zstd_compress_sequences.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_superblock.c= -fno-tree-vectorize +CFLAGS.zstd_compress_superblock.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_double_fast.c= -fno-tree-vectorize +CFLAGS.zstd_double_fast.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_fast.c= -fno-tree-vectorize +CFLAGS.zstd_fast.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_lazy.c= -fno-tree-vectorize +CFLAGS.zstd_lazy.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_ldm.c= -fno-tree-vectorize +CFLAGS.zstd_ldm.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_opt.c= -fno-tree-vectorize +CFLAGS.zstd_opt.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_ddict.c= -fno-tree-vectorize +CFLAGS.zstd_ddict.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_decompress.c= -fno-tree-vectorize +CFLAGS.zstd_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_decompress_block.c= -fno-tree-vectorize +CFLAGS.zstd_decompress_block.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} + +.include <bsd.lib.mk> diff --cc stand/libsa/zfs/spl/sys/zfs_context.h index 48f164317611,000000000000..9f12955dd05f mode 100644,000000..100644 --- a/stand/libsa/zfs/spl/sys/zfs_context.h +++ b/stand/libsa/zfs/spl/sys/zfs_context.h @@@ -1,32 -1,0 +1,32 @@@ +/* + * Copyright 2022, Netflix, Inc + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +/* TODO: openzfs/include/sys/uio_impl.h must not be included in stand */ +#ifndef _SYS_UIO_IMPL_H +#define _SYS_UIO_IMPL_H +#endif + +/* + * sys/atomic.h must be included after sys/sysmacros.h. The latter includes + * machine/atomic.h, which interferes. Sadly, upstream includes them in the + * wrong order, so we include it here to fix that. + */ +#include <sys/sysmacros.h> + +#include_next <sys/zfs_context.h> + - #define ZFS_MODULE_PARAM_ARGS void ++#define SYSCTL_HANDLER_ARGS void + +/* + * Not sure why I need these, but including the canonical stand.h fails because + * the normal string.h doesn't like all the other shenanigans in this environment. + */ +void *memcpy(void *dst, const void *src, size_t len); +void *memset(void *dest, int c, size_t len); +void *memmem(const void *big, size_t big_len, const void *little, + size_t little_len); diff --cc sys/conf/files index b7c19fae0b8e,000000000000..be65ed20d6aa mode 100644,000000..100644 --- a/sys/conf/files +++ b/sys/conf/files @@@ -1,5304 -1,0 +1,5305 @@@ +# +# The long compile-with and dependency lines are required because of +# limitations in config: backslash-newline doesn't work in strings, and +# dependency lines other than the first are silently ignored. +# +acpi_quirks.h optional acpi \ + dependency "$S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ + compile-with "${AWK} -f $S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ + no-obj no-implicit-rule before-depend \ + clean "acpi_quirks.h" +bhnd_nvram_map.h optional bhnd \ + dependency "$S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/tools/nvram_map_gen.awk $S/dev/bhnd/nvram/nvram_map" \ + compile-with "sh $S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/nvram/nvram_map -h" \ + no-obj no-implicit-rule before-depend \ + clean "bhnd_nvram_map.h" +bhnd_nvram_map_data.h optional bhnd \ + dependency "$S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/tools/nvram_map_gen.awk $S/dev/bhnd/nvram/nvram_map" \ + compile-with "sh $S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/nvram/nvram_map -d" \ + no-obj no-implicit-rule before-depend \ + clean "bhnd_nvram_map_data.h" +fdt_static_dtb.h optional fdt fdt_dtb_static \ + compile-with "sh -c 'MACHINE=${MACHINE} $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ${.OBJDIR}'" \ + dependency "${FDT_DTS_FILE:T:R}.dtb" \ + no-obj no-implicit-rule before-depend \ + clean "fdt_static_dtb.h" +feeder_eq_gen.h optional sound \ + dependency "$S/tools/sound/feeder_eq_mkfilter.awk" \ + compile-with "${AWK} -f $S/tools/sound/feeder_eq_mkfilter.awk -- ${FEEDER_EQ_PRESETS} > feeder_eq_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "feeder_eq_gen.h" +feeder_rate_gen.h optional sound \ + dependency "$S/tools/sound/feeder_rate_mkfilter.awk" \ + compile-with "${AWK} -f $S/tools/sound/feeder_rate_mkfilter.awk -- ${FEEDER_RATE_PRESETS} > feeder_rate_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "feeder_rate_gen.h" +font.h optional sc_dflt_font \ + compile-with "uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \ + no-obj no-implicit-rule before-depend \ + clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" +snd_fxdiv_gen.h optional sound \ + dependency "$S/tools/sound/snd_fxdiv_gen.awk" \ + compile-with "${AWK} -f $S/tools/sound/snd_fxdiv_gen.awk -- > snd_fxdiv_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "snd_fxdiv_gen.h" +miidevs.h optional miibus | mii \ + dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ + compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ + no-obj no-implicit-rule before-depend \ + clean "miidevs.h" +kbdmuxmap.h optional kbdmux_dflt_keymap \ + compile-with "${KEYMAP} -L ${KBDMUX_DFLT_KEYMAP} | ${KEYMAP_FIX} > ${.TARGET}" \ + no-obj no-implicit-rule before-depend \ + clean "kbdmuxmap.h" +teken_state.h optional sc | vt \ + dependency "$S/teken/gensequences $S/teken/sequences" \ + compile-with "${AWK} -f $S/teken/gensequences $S/teken/sequences > teken_state.h" \ + no-obj no-implicit-rule before-depend \ + clean "teken_state.h" +ukbdmap.h optional ukbd_dflt_keymap \ + compile-with "${KEYMAP} -L ${UKBD_DFLT_KEYMAP} | ${KEYMAP_FIX} > ${.TARGET}" \ + no-obj no-implicit-rule before-depend \ + clean "ukbdmap.h" +usbdevs.h optional usb | hid \ + dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ + compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -h" \ + no-obj no-implicit-rule before-depend \ + clean "usbdevs.h" +usbdevs_data.h optional usb \ + dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ + compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -d" \ + no-obj no-implicit-rule before-depend \ + clean "usbdevs_data.h" +sdiodevs.h optional mmccam \ + dependency "$S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs" \ + compile-with "${AWK} -f $S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs -h" \ + no-obj no-implicit-rule before-depend \ + clean "sdiodevs.h" +sdiodevs_data.h optional mmccam \ + dependency "$S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs" \ + compile-with "${AWK} -f $S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs -d" \ + no-obj no-implicit-rule before-depend \ + clean "sdiodevs_data.h" +cam/cam.c optional scbus +cam/cam_compat.c optional scbus +cam/cam_iosched.c optional scbus +cam/cam_periph.c optional scbus +cam/cam_queue.c optional scbus +cam/cam_sim.c optional scbus +cam/cam_xpt.c optional scbus +cam/ata/ata_all.c optional scbus +cam/ata/ata_xpt.c optional scbus +cam/ata/ata_pmp.c optional scbus +cam/nvme/nvme_all.c optional scbus +cam/nvme/nvme_da.c optional nda | da +cam/nvme/nvme_xpt.c optional scbus +cam/scsi/scsi_xpt.c optional scbus +cam/scsi/scsi_all.c optional scbus +cam/scsi/scsi_cd.c optional cd +cam/scsi/scsi_ch.c optional ch +cam/ata/ata_da.c optional ada | da +cam/ctl/ctl.c optional ctl +cam/ctl/ctl_backend.c optional ctl +cam/ctl/ctl_backend_block.c optional ctl +cam/ctl/ctl_backend_ramdisk.c optional ctl +cam/ctl/ctl_cmd_table.c optional ctl +cam/ctl/ctl_frontend.c optional ctl +cam/ctl/ctl_frontend_cam_sim.c optional ctl +cam/ctl/ctl_frontend_ioctl.c optional ctl +cam/ctl/ctl_frontend_iscsi.c optional ctl cfiscsi +cam/ctl/ctl_ha.c optional ctl +cam/ctl/ctl_nvme_all.c optional ctl +cam/ctl/ctl_nvme_cmd_table.c optional ctl +cam/ctl/ctl_scsi_all.c optional ctl +cam/ctl/ctl_tpc.c optional ctl +cam/ctl/ctl_tpc_local.c optional ctl +cam/ctl/ctl_error.c optional ctl +cam/ctl/ctl_util.c optional ctl +cam/ctl/scsi_ctl.c optional ctl +cam/mmc/mmc_xpt.c optional scbus mmccam +cam/mmc/mmc_sim.c optional scbus mmccam +cam/mmc/mmc_sim_if.m optional scbus mmccam +cam/mmc/mmc_da.c optional scbus mmccam da +cam/scsi/scsi_da.c optional da +cam/scsi/scsi_pass.c optional pass +cam/scsi/scsi_pt.c optional pt +cam/scsi/scsi_sa.c optional sa +cam/scsi/scsi_enc.c optional ses +cam/scsi/scsi_enc_ses.c optional ses +cam/scsi/scsi_enc_safte.c optional ses +cam/scsi/scsi_sg.c optional sg +cam/scsi/scsi_targ_bh.c optional targbh +cam/scsi/scsi_target.c optional targ +cam/scsi/smp_all.c optional scbus + +# shared between zfs and dtrace +cddl/compat/opensolaris/kern/opensolaris.c optional dtrace compile-with "${CDDL_C}" +cddl/compat/opensolaris/kern/opensolaris_proc.c optional zfs | dtrace compile-with "${CDDL_C}" +contrib/openzfs/module/os/freebsd/spl/spl_misc.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_cmn_err.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_taskq.c optional zfs | dtrace compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_kmem.c optional zfs | dtrace compile-with "${ZFS_C}" + +#zfs solaris portability layer +contrib/openzfs/module/os/freebsd/spl/acl_common.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/callb.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/list.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_acl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_dtrace.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_kstat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_policy.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_procfs_list.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_string.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_sunddi.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_sysevent.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_uio.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_vfs.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_vm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_zlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/spl/spl_zone.c optional zfs compile-with "${ZFS_C}" + + + +# zfs specific + +#zfs avl +contrib/openzfs/module/avl/avl.c optional zfs compile-with "${ZFS_C}" + +# zfs lua support +contrib/openzfs/module/lua/lapi.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lauxlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lbaselib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcode.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcompat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lcorolib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lctype.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ldebug.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ldo.c optional zfs compile-with "${ZFS_C} ${NO_WINFINITE_RECURSION}" +contrib/openzfs/module/lua/lfunc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lgc.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/llex.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lmem.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lobject.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lopcodes.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lparser.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstate.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstring.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lstrlib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltable.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltablib.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/ltm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lvm.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/lua/lzio.c optional zfs compile-with "${ZFS_C}" + +# zfs nvpair support +contrib/openzfs/module/nvpair/fnvpair.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/nvpair/nvpair.c optional zfs compile-with "${ZFS_RPC_C} ${NO_WSTRINGOP_OVERREAD}" +contrib/openzfs/module/nvpair/nvpair_alloc_fixed.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/nvpair/nvpair_alloc_spl.c optional zfs compile-with "${ZFS_C}" + +#zfs platform compatibility code +contrib/openzfs/module/os/freebsd/zfs/abd_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/arc_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/crypto_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/dmu_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/event_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/hkdf.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/kmod_core.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/spa_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c optional zfs compile-with "${ZFS_C} -include $S/modules/zfs/zfs_config.h" +contrib/openzfs/module/os/freebsd/zfs/vdev_label_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/vdev_geom.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_acl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_debug.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_dir.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_file_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_compat.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_racct.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zfs_znode_os.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/os/freebsd/zfs/zvol_os.c optional zfs compile-with "${ZFS_C}" + +#zfs unicode support +contrib/openzfs/module/unicode/u8_textprep.c optional zfs compile-with "${ZFS_C}" + +#zfs checksums / zcommon +contrib/openzfs/module/zcommon/cityhash.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfeature_common.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_comutil.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_deleg.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher_superscalar.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_fletcher_superscalar4.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_namecheck.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_prop.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zfs_valstr.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zpool_prop.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/zcommon/zprop_common.c optional zfs compile-with "${ZFS_C}" + +# zfs edon-r hash support +contrib/openzfs/module/icp/algs/edonr/edonr.c optional zfs compile-with "${ZFS_C}" + +# zfs blake3 hash support +contrib/openzfs/module/icp/algs/blake3/blake3.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/blake3/blake3_generic.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/blake3/blake3_impl.c optional zfs compile-with "${ZFS_C}" + +# zfs sha2 hash support +contrib/openzfs/module/icp/algs/sha2/sha2_generic.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/sha2/sha256_impl.c optional zfs compile-with "${ZFS_C}" +contrib/openzfs/module/icp/algs/sha2/sha512_impl.c optional zfs compile-with "${ZFS_C}" + +#zfs core common code +contrib/openzfs/module/zfs/abd.c optional zfs compile-with "${ZFS_C}" *** 6572 LINES SKIPPED ***