git: c03c5b1c8091 - main - zfs: merge openzfs/zfs@a86e08941 (master) into main

From: Martin Matuska <mm_at_FreeBSD.org>
Date: Tue, 08 Mar 2022 18:57:48 UTC
The branch main has been updated by mm:

URL: https://cgit.FreeBSD.org/src/commit/?id=c03c5b1c80914ec656fbee84539355d1fad68bf9

commit c03c5b1c80914ec656fbee84539355d1fad68bf9
Merge: 5678114cd8b3 a86e08941567
Author:     Martin Matuska <mm@FreeBSD.org>
AuthorDate: 2022-03-08 17:52:10 +0000
Commit:     Martin Matuska <mm@FreeBSD.org>
CommitDate: 2022-03-08 17:53:02 +0000

    zfs: merge openzfs/zfs@a86e08941 (master) into main
    
    Notable upstream pull request merges:
      #9078:  log xattr=sa create/remove/update to ZIL
      #11919: Cross-platform xattr user namespace compatibility
      #13014: Report dnodes with faulty bonuslen
      #13016: FreeBSD: Fix zvol_cdev_open locking
      #13019: spl: Don't check FreeBSD rwlocks for double initialization
      #13027: Fix clearing set-uid and set-gid bits on a file when
              replying a write
      #13031: Add enumerated vdev names to 'zpool iostat -v' and
              'zpool list -v'
      #13074: Enable encrypted raw sending to pools with greater ashift
      #13076: Receive checks should allow unencrypted child datasets
      #13098: Avoid dirtying the final TXGs when exporting a pool
      #13172: Fix ENOSPC when unlinking multiple files from full pool
    
    Obtained from:  OpenZFS
    OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3

 cddl/contrib/opensolaris/tools/ctf/cvt/ctftools.h  |     4 +-
 cddl/lib/libicp/Makefile                           |     3 -
 cddl/lib/libicp_rescue/Makefile                    |     3 -
 cddl/lib/libzpool/Makefile                         |    74 +-
 stand/libsa/zfs/Makefile.inc                       |    61 +-
 .../contrib/opensolaris/uts/common/sys/cmn_err.h   |     4 +-
 .../.github/workflows/build-dependencies.txt       |    49 +
 .../openzfs/.github/workflows/checkstyle.yaml      |    32 +-
 .../workflows/scripts/reclaim_disk_space.sh        |    20 +
 .../.github/workflows/zfs-tests-functional.yml     |    43 +-
 .../openzfs/.github/workflows/zfs-tests-sanity.yml |    47 +-
 sys/contrib/openzfs/.github/workflows/zloop.yml    |    17 +-
 sys/contrib/openzfs/Makefile.am                    |    33 +-
 sys/contrib/openzfs/cmd/Makefile.am                |     1 -
 sys/contrib/openzfs/cmd/fsck_zfs/Makefile.am       |     1 -
 sys/contrib/openzfs/cmd/mount_zfs/mount_zfs.c      |    49 +-
 sys/contrib/openzfs/cmd/raidz_test/raidz_test.c    |    11 +-
 sys/contrib/openzfs/cmd/raidz_test/raidz_test.h    |    16 +-
 sys/contrib/openzfs/cmd/zdb/zdb.c                  |    76 +-
 sys/contrib/openzfs/cmd/zdb/zdb_il.c               |    25 +
 sys/contrib/openzfs/cmd/zed/Makefile.am            |     1 -
 sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c       |   179 +-
 sys/contrib/openzfs/cmd/zed/zed.d/Makefile.am      |     3 +-
 sys/contrib/openzfs/cmd/zed/zed.d/zed-functions.sh |     2 +-
 sys/contrib/openzfs/cmd/zed/zed_disk_event.c       |    10 +
 sys/contrib/openzfs/cmd/zfs/zfs_iter.c             |     8 +-
 sys/contrib/openzfs/cmd/zfs/zfs_main.c             |    43 +-
 sys/contrib/openzfs/cmd/zgenhostid/zgenhostid.c    |     2 +-
 sys/contrib/openzfs/cmd/zhack/zhack.c              |     4 +-
 sys/contrib/openzfs/cmd/zpool/Makefile.am          |     1 -
 sys/contrib/openzfs/cmd/zpool/zpool_main.c         |    82 +-
 .../openzfs/cmd/zpool_influxdb/zpool_influxdb.c    |     6 +-
 sys/contrib/openzfs/cmd/zstream/zstream_dump.c     |    13 +
 sys/contrib/openzfs/cmd/ztest/ztest.c              |    24 +-
 sys/contrib/openzfs/cmd/zvol_id/zvol_id_main.c     |    15 +
 sys/contrib/openzfs/cmd/zvol_wait/Makefile.am      |     1 -
 sys/contrib/openzfs/config/Abigail.am              |    25 +-
 sys/contrib/openzfs/config/Rules.am                |    12 +-
 sys/contrib/openzfs/config/Shellcheck.am           |    10 +-
 sys/contrib/openzfs/config/Substfiles.am           |     4 +-
 .../openzfs/config/always-compiler-options.m4      |   102 +-
 sys/contrib/openzfs/config/kernel-add-disk.m4      |    26 +
 sys/contrib/openzfs/config/kernel-blk-queue.m4     |    16 +-
 .../config/kernel-block-device-operations.m4       |    17 +-
 sys/contrib/openzfs/config/kernel-fallocate.m4     |    17 +
 sys/contrib/openzfs/config/kernel-fpu.m4           |    49 +-
 sys/contrib/openzfs/config/kernel-get-disk-ro.m4   |     4 +-
 sys/contrib/openzfs/config/kernel-kmem.m4          |     1 +
 sys/contrib/openzfs/config/kernel-kthread.m4       |    68 +
 sys/contrib/openzfs/config/kernel-pde-data.m4      |    16 +-
 sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4  |    22 +-
 sys/contrib/openzfs/config/kernel.m4               |   117 +-
 sys/contrib/openzfs/config/toolchain-simd.m4       |    66 +
 sys/contrib/openzfs/config/zfs-build.m4            |     8 +-
 sys/contrib/openzfs/configure.ac                   |     6 +-
 sys/contrib/openzfs/contrib/Makefile.am            |     1 -
 .../openzfs/contrib/bash_completion.d/Makefile.am  |     1 -
 sys/contrib/openzfs/contrib/bpftrace/Makefile.am   |     1 -
 .../dracut/02zfsexpandknowledge/Makefile.am        |     1 -
 .../dracut/02zfsexpandknowledge/module-setup.sh.in |     6 +
 .../openzfs/contrib/dracut/90zfs/Makefile.am       |     1 -
 .../openzfs/contrib/dracut/90zfs/export-zfs.sh.in  |    18 +-
 .../contrib/dracut/90zfs/module-setup.sh.in        |   161 +-
 .../openzfs/contrib/dracut/90zfs/mount-zfs.sh.in   |     2 +-
 .../openzfs/contrib/dracut/90zfs/zfs-lib.sh.in     |    16 -
 .../dracut/90zfs/zfs-rollback-bootfs.service.in    |     2 +-
 .../dracut/90zfs/zfs-snapshot-bootfs.service.in    |     2 +-
 sys/contrib/openzfs/contrib/dracut/Makefile.am     |     2 +-
 .../openzfs/contrib/dracut/README.dracut.markdown  |   225 -
 sys/contrib/openzfs/contrib/dracut/README.md       |    48 +
 sys/contrib/openzfs/contrib/initramfs/Makefile.am  |     4 +-
 .../{README.initramfs.markdown => README.md}       |     0
 .../openzfs/contrib/initramfs/hooks/Makefile.am    |     1 -
 .../openzfs/contrib/initramfs/scripts/Makefile.am  |     1 -
 .../initramfs/scripts/local-top/Makefile.am        |     1 -
 .../openzfs/contrib/pam_zfs_key/pam_zfs_key.c      |     1 +
 .../pyzfs/libzfs_core/test/test_libzfs_core.py     |     3 +-
 sys/contrib/openzfs/etc/Makefile.am                |     1 -
 sys/contrib/openzfs/etc/default/Makefile.am        |     3 +-
 sys/contrib/openzfs/etc/init.d/Makefile.am         |     3 +-
 .../etc/systemd/system/zfs-import-cache.service.in |     1 +
 .../etc/systemd/system/zfs-import-scan.service.in  |     1 +
 .../etc/systemd/system/zfs-mount.service.in        |     1 +
 .../etc/systemd/system/zfs-scrub@.service.in       |     3 +-
 .../etc/systemd/system/zfs-share.service.in        |     1 +
 .../etc/systemd/system/zfs-volume-wait.service.in  |     1 +
 .../openzfs/etc/systemd/system/zfs-zed.service.in  |     1 +
 sys/contrib/openzfs/etc/zfs/Makefile.am            |     3 +-
 sys/contrib/openzfs/include/libuutil.h             |    16 +-
 sys/contrib/openzfs/include/libzfs.h               |     4 +-
 sys/contrib/openzfs/include/libzfs_core.h          |     1 +
 .../openzfs/include/os/freebsd/linux/compiler.h    |     2 +-
 .../openzfs/include/os/freebsd/spl/sys/ccompat.h   |     7 +-
 .../openzfs/include/os/freebsd/spl/sys/ctype.h     |    12 +-
 .../openzfs/include/os/freebsd/spl/sys/debug.h     |    75 +-
 .../openzfs/include/os/freebsd/spl/sys/mod_os.h    |    35 +-
 .../openzfs/include/os/freebsd/spl/sys/rwlock.h    |    11 +-
 .../openzfs/include/os/freebsd/spl/sys/sdt.h       |     2 +-
 .../openzfs/include/os/freebsd/spl/sys/types.h     |     2 +-
 .../include/os/freebsd/zfs/sys/freebsd_crypto.h    |     7 +-
 .../openzfs/include/os/freebsd/zfs/sys/sha2.h      |     3 -
 .../os/linux/kernel/linux/compiler_compat.h        |     6 +-
 .../include/os/linux/kernel/linux/mod_compat.h     |    33 +-
 .../include/os/linux/kernel/linux/simd_x86.h       |   124 +-
 sys/contrib/openzfs/include/os/linux/spl/sys/acl.h |    10 +-
 .../openzfs/include/os/linux/spl/sys/debug.h       |    81 +-
 .../openzfs/include/os/linux/spl/sys/isa_defs.h    |    23 +-
 .../openzfs/include/os/linux/spl/sys/mutex.h       |     3 +-
 .../openzfs/include/os/linux/spl/sys/rwlock.h      |    12 +-
 .../openzfs/include/os/linux/spl/sys/thread.h      |     8 +-
 .../openzfs/include/os/linux/spl/sys/trace_taskq.h |    26 +-
 sys/contrib/openzfs/include/os/linux/spl/sys/uio.h |     4 +
 .../openzfs/include/os/linux/zfs/sys/sha2.h        |     3 -
 .../openzfs/include/os/linux/zfs/sys/trace_acl.h   |     6 +-
 .../openzfs/include/os/linux/zfs/sys/trace_arc.h   |    39 +-
 .../include/os/linux/zfs/sys/trace_dbgmsg.h        |     6 +-
 .../openzfs/include/os/linux/zfs/sys/trace_dbuf.h  |    18 +-
 .../openzfs/include/os/linux/zfs/sys/trace_dmu.h   |    14 +-
 .../openzfs/include/os/linux/zfs/sys/trace_dnode.h |     6 +-
 .../include/os/linux/zfs/sys/trace_multilist.h     |     6 +-
 .../openzfs/include/os/linux/zfs/sys/trace_txg.h   |     6 +-
 .../openzfs/include/os/linux/zfs/sys/trace_vdev.h  |    14 +-
 .../openzfs/include/os/linux/zfs/sys/trace_zil.h   |    12 +-
 .../include/os/linux/zfs/sys/trace_zrlock.h        |     6 +-
 sys/contrib/openzfs/include/sys/arc_impl.h         |    13 +-
 sys/contrib/openzfs/include/sys/crypto/api.h       |   367 +-
 sys/contrib/openzfs/include/sys/crypto/common.h    |   408 +-
 sys/contrib/openzfs/include/sys/dsl_dataset.h      |     3 +-
 sys/contrib/openzfs/include/sys/dsl_pool.h         |     1 +
 sys/contrib/openzfs/include/sys/fs/zfs.h           |    73 +-
 sys/contrib/openzfs/include/sys/lua/lauxlib.h      |     3 -
 sys/contrib/openzfs/include/sys/lua/lua.h          |     2 -
 sys/contrib/openzfs/include/sys/lua/luaconf.h      |     2 -
 sys/contrib/openzfs/include/sys/lua/lualib.h       |     2 -
 sys/contrib/openzfs/include/sys/spa.h              |     5 +
 sys/contrib/openzfs/include/sys/vdev_impl.h        |     4 +-
 sys/contrib/openzfs/include/sys/zfs_context.h      |     9 +-
 sys/contrib/openzfs/include/sys/zfs_sa.h           |     2 +-
 sys/contrib/openzfs/include/sys/zfs_znode.h        |     4 +-
 sys/contrib/openzfs/include/sys/zil.h              |    13 +-
 sys/contrib/openzfs/include/sys/zio.h              |     2 +-
 sys/contrib/openzfs/include/sys/zvol_impl.h        |    20 +-
 sys/contrib/openzfs/include/zfeature_common.h      |     1 +
 sys/contrib/openzfs/include/zfs_fletcher.h         |    16 +
 sys/contrib/openzfs/include/zfs_prop.h             |    14 +-
 sys/contrib/openzfs/lib/libicp/Makefile.am         |     3 -
 sys/contrib/openzfs/lib/libnvpair/Makefile.am      |     4 +
 sys/contrib/openzfs/lib/libnvpair/libnvpair.abi    |     7 +-
 sys/contrib/openzfs/lib/libshare/os/freebsd/nfs.c  |     1 +
 sys/contrib/openzfs/lib/libshare/os/freebsd/smb.c  |     5 +
 sys/contrib/openzfs/lib/libspl/assert.c            |     8 +-
 sys/contrib/openzfs/lib/libspl/atomic.c            |   166 +-
 sys/contrib/openzfs/lib/libspl/include/Makefile.am |     2 +-
 sys/contrib/openzfs/lib/libspl/include/assert.h    |    35 +-
 .../openzfs/lib/libspl/include/ia32/Makefile.am    |     1 -
 .../lib/libspl/include/ia32/sys/Makefile.am        |     3 -
 .../lib/libspl/include/ia32/sys/asm_linkage.h      |   302 -
 .../openzfs/lib/libspl/include/sys/feature_tests.h |     7 +-
 .../openzfs/lib/libspl/include/sys/isa_defs.h      |    25 +-
 sys/contrib/openzfs/lib/libspl/include/sys/sha2.h  |     3 -
 sys/contrib/openzfs/lib/libspl/include/sys/simd.h  |     1 +
 sys/contrib/openzfs/lib/libspl/os/linux/zone.c     |     2 +-
 sys/contrib/openzfs/lib/libtpool/Makefile.am       |     2 +
 sys/contrib/openzfs/lib/libtpool/thread_pool.c     |     3 +-
 sys/contrib/openzfs/lib/libuutil/libuutil.abi      |     7 +-
 sys/contrib/openzfs/lib/libuutil/uu_pname.c        |     9 +-
 sys/contrib/openzfs/lib/libzfs/Makefile.am         |     2 -
 sys/contrib/openzfs/lib/libzfs/libzfs.abi          |    95 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_changelist.c |     2 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c     |     9 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c    |    26 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_impl.h       |    12 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_mount.c      |    36 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_pool.c       |    11 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c   |   708 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_util.c       |    16 +-
 .../openzfs/lib/libzfs/os/freebsd/libzfs_compat.c  |    20 +-
 .../openzfs/lib/libzfs/os/freebsd/libzfs_zmount.c  |     6 +-
 .../lib/libzfs/os/linux/libzfs_sendrecv_os.c       |    52 -
 .../openzfs/lib/libzfs_core/libzfs_core.abi        |   197 +-
 sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c  |   208 +-
 .../openzfs/lib/libzfsbootenv/lzbe_device.c        |     2 +-
 sys/contrib/openzfs/lib/libzpool/Makefile.am       |     3 -
 sys/contrib/openzfs/lib/libzpool/kernel.c          |    45 +-
 sys/contrib/openzfs/lib/libzpool/taskq.c           |     2 +-
 sys/contrib/openzfs/lib/libzstd/Makefile.am        |    27 +-
 sys/contrib/openzfs/lib/libzutil/Makefile.am       |     2 -
 .../lib/libzutil/os/linux/zutil_device_path_os.c   |    29 +-
 .../lib/libzutil/os/linux/zutil_import_os.c        |     3 +
 sys/contrib/openzfs/lib/libzutil/zutil_import.c    |     4 +-
 sys/contrib/openzfs/man/man1/raidz_test.1          |     2 +-
 sys/contrib/openzfs/man/man4/zfs.4                 |    53 +-
 sys/contrib/openzfs/man/man7/zfsconcepts.7         |     4 +-
 sys/contrib/openzfs/man/man7/zfsprops.7            |    34 +-
 sys/contrib/openzfs/man/man7/zpool-features.7      |    34 +-
 sys/contrib/openzfs/man/man7/zpoolprops.7          |     6 +-
 sys/contrib/openzfs/man/man8/zdb.8                 |    24 +-
 sys/contrib/openzfs/man/man8/zfs-project.8         |     2 +-
 sys/contrib/openzfs/man/man8/zfs-receive.8         |     4 +-
 sys/contrib/openzfs/man/man8/zinject.8             |     8 +-
 sys/contrib/openzfs/man/man8/zpool-import.8        |     7 +-
 sys/contrib/openzfs/man/man8/zpool-labelclear.8    |     3 +-
 sys/contrib/openzfs/man/man8/zpool-remove.8        |     2 +-
 sys/contrib/openzfs/man/man8/zpool-status.8        |    10 +-
 sys/contrib/openzfs/man/man8/zpool.8               |     6 +-
 sys/contrib/openzfs/module/Makefile.bsd            |    51 +-
 sys/contrib/openzfs/module/Makefile.in             |    13 +-
 sys/contrib/openzfs/module/avl/avl.c               |     4 -
 sys/contrib/openzfs/module/icp/Makefile.in         |     3 -
 sys/contrib/openzfs/module/icp/algs/modes/cbc.c    |    17 +-
 sys/contrib/openzfs/module/icp/algs/modes/gcm.c    |    35 +-
 sys/contrib/openzfs/module/icp/api/kcf_cipher.c    |   793 +-
 sys/contrib/openzfs/module/icp/api/kcf_ctxops.c    |     8 +-
 sys/contrib/openzfs/module/icp/api/kcf_digest.c    |   491 -
 sys/contrib/openzfs/module/icp/api/kcf_mac.c       |   416 +-
 sys/contrib/openzfs/module/icp/api/kcf_miscapi.c   |   127 -
 sys/contrib/openzfs/module/icp/core/kcf_callprov.c |  1445 +-
 .../openzfs/module/icp/core/kcf_mech_tabs.c        |   538 +-
 sys/contrib/openzfs/module/icp/core/kcf_prov_lib.c |    68 +-
 .../openzfs/module/icp/core/kcf_prov_tabs.c        |   379 +-
 sys/contrib/openzfs/module/icp/core/kcf_sched.c    |  1627 +-
 sys/contrib/openzfs/module/icp/illumos-crypto.c    |     5 -
 .../openzfs/module/icp/include/aes/aes_impl.h      |     7 -
 .../openzfs/module/icp/include/modes/modes.h       |     6 -
 .../openzfs/module/icp/include/sys/bitmap.h        |   183 -
 .../module/icp/include/sys/crypto/elfsign.h        |   137 -
 .../openzfs/module/icp/include/sys/crypto/impl.h   |  1057 +-
 .../module/icp/include/sys/crypto/ops_impl.h       |   630 -
 .../module/icp/include/sys/crypto/sched_impl.h     |   422 +-
 .../openzfs/module/icp/include/sys/crypto/spi.h    |   572 +-
 .../module/icp/include/sys/ia32/asm_linkage.h      |   146 +-
 .../openzfs/module/icp/include/sys/modhash.h       |   147 -
 .../openzfs/module/icp/include/sys/modhash_impl.h  |   108 -
 sys/contrib/openzfs/module/icp/io/aes.c            |   256 +-
 sys/contrib/openzfs/module/icp/io/sha2_mod.c       |   197 +-
 sys/contrib/openzfs/module/icp/io/skein_mod.c      |   145 +-
 sys/contrib/openzfs/module/icp/os/modhash.c        |   927 -
 sys/contrib/openzfs/module/icp/spi/kcf_spi.c       |   743 +-
 sys/contrib/openzfs/module/lua/lapi.c              |     2 -
 sys/contrib/openzfs/module/lua/lapi.h              |     2 -
 sys/contrib/openzfs/module/lua/lauxlib.c           |     2 -
 sys/contrib/openzfs/module/lua/lbaselib.c          |     2 -
 sys/contrib/openzfs/module/lua/lcode.c             |     2 -
 sys/contrib/openzfs/module/lua/lcode.h             |     2 -
 sys/contrib/openzfs/module/lua/lcorolib.c          |     2 -
 sys/contrib/openzfs/module/lua/lctype.c            |     2 -
 sys/contrib/openzfs/module/lua/lctype.h            |     2 -
 sys/contrib/openzfs/module/lua/ldebug.c            |     2 -
 sys/contrib/openzfs/module/lua/ldebug.h            |     2 -
 sys/contrib/openzfs/module/lua/ldo.c               |     4 +-
 sys/contrib/openzfs/module/lua/ldo.h               |     2 -
 sys/contrib/openzfs/module/lua/lfunc.c             |     2 -
 sys/contrib/openzfs/module/lua/lfunc.h             |     2 -
 sys/contrib/openzfs/module/lua/lgc.c               |     4 +-
 sys/contrib/openzfs/module/lua/lgc.h               |     2 -
 sys/contrib/openzfs/module/lua/llex.c              |     4 +-
 sys/contrib/openzfs/module/lua/llex.h              |     2 -
 sys/contrib/openzfs/module/lua/llimits.h           |     2 -
 sys/contrib/openzfs/module/lua/lmem.c              |     2 -
 sys/contrib/openzfs/module/lua/lmem.h              |     2 -
 sys/contrib/openzfs/module/lua/lobject.c           |     2 -
 sys/contrib/openzfs/module/lua/lobject.h           |     2 -
 sys/contrib/openzfs/module/lua/lopcodes.c          |     2 -
 sys/contrib/openzfs/module/lua/lopcodes.h          |     2 -
 sys/contrib/openzfs/module/lua/lparser.c           |     2 -
 sys/contrib/openzfs/module/lua/lparser.h           |     2 -
 sys/contrib/openzfs/module/lua/lstate.c            |     2 -
 sys/contrib/openzfs/module/lua/lstate.h            |     2 -
 sys/contrib/openzfs/module/lua/lstring.c           |     2 -
 sys/contrib/openzfs/module/lua/lstring.h           |     2 -
 sys/contrib/openzfs/module/lua/lstrlib.c           |     4 +-
 sys/contrib/openzfs/module/lua/ltable.c            |     4 +-
 sys/contrib/openzfs/module/lua/ltable.h            |     2 -
 sys/contrib/openzfs/module/lua/ltablib.c           |     2 -
 sys/contrib/openzfs/module/lua/ltm.c               |     2 -
 sys/contrib/openzfs/module/lua/ltm.h               |     2 -
 sys/contrib/openzfs/module/lua/lvm.c               |     3 -
 sys/contrib/openzfs/module/lua/lvm.h               |     2 -
 sys/contrib/openzfs/module/lua/lzio.c              |     2 -
 sys/contrib/openzfs/module/lua/lzio.h              |     2 -
 sys/contrib/openzfs/module/os/freebsd/spl/callb.c  |     2 +-
 .../openzfs/module/os/freebsd/spl/spl_zlib.c       |     6 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c |     4 +-
 .../openzfs/module/os/freebsd/zfs/crypto_os.c      |    12 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/hkdf.c   |     2 -
 sys/contrib/openzfs/module/os/freebsd/zfs/spa_os.c |    24 +
 .../openzfs/module/os/freebsd/zfs/sysctl_os.c      |   280 +-
 .../openzfs/module/os/freebsd/zfs/vdev_geom.c      |    11 +-
 .../openzfs/module/os/freebsd/zfs/zfs_acl.c        |    12 +-
 .../openzfs/module/os/freebsd/zfs/zfs_ctldir.c     |     5 +-
 .../openzfs/module/os/freebsd/zfs/zfs_debug.c      |     6 +-
 .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c     |    19 +-
 .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c   |   318 +-
 .../openzfs/module/os/freebsd/zfs/zfs_znode.c      |     2 +-
 .../openzfs/module/os/freebsd/zfs/zio_crypt.c      |    10 +-
 .../openzfs/module/os/freebsd/zfs/zvol_os.c        |    49 +-
 sys/contrib/openzfs/module/os/linux/spl/spl-err.c  |     6 +-
 .../openzfs/module/os/linux/spl/spl-generic.c      |    18 +-
 .../openzfs/module/os/linux/spl/spl-kmem-cache.c   |     1 -
 sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c |     2 +-
 .../openzfs/module/os/linux/spl/spl-kstat.c        |     2 +-
 sys/contrib/openzfs/module/os/linux/spl/spl-proc.c |     3 +-
 .../openzfs/module/os/linux/spl/spl-procfs-list.c  |     2 +-
 .../openzfs/module/os/linux/spl/spl-thread.c       |     7 +-
 sys/contrib/openzfs/module/os/linux/zfs/arc_os.c   |     2 -
 .../openzfs/module/os/linux/zfs/spa_misc_os.c      |    24 +
 .../openzfs/module/os/linux/zfs/vdev_disk.c        |     2 +-
 sys/contrib/openzfs/module/os/linux/zfs/zfs_acl.c  |    12 +-
 .../openzfs/module/os/linux/zfs/zfs_vfsops.c       |     5 +-
 .../openzfs/module/os/linux/zfs/zfs_vnops_os.c     |    39 +-
 .../openzfs/module/os/linux/zfs/zfs_znode.c        |     8 +-
 .../openzfs/module/os/linux/zfs/zio_crypt.c        |    49 +-
 .../openzfs/module/os/linux/zfs/zpl_ctldir.c       |    31 +-
 sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c |   139 +-
 .../openzfs/module/os/linux/zfs/zpl_xattr.c        |   159 +-
 sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c  |    48 +-
 .../openzfs/module/zcommon/zfeature_common.c       |    12 +
 sys/contrib/openzfs/module/zcommon/zfs_fletcher.c  |     8 +-
 .../module/zcommon/zfs_fletcher_aarch64_neon.c     |     2 +
 .../openzfs/module/zcommon/zfs_fletcher_avx512.c   |     2 +
 .../openzfs/module/zcommon/zfs_fletcher_intel.c    |     2 +
 .../openzfs/module/zcommon/zfs_fletcher_sse.c      |     2 +
 .../module/zcommon/zfs_fletcher_superscalar.c      |     4 +
 .../module/zcommon/zfs_fletcher_superscalar4.c     |     4 +
 sys/contrib/openzfs/module/zcommon/zfs_prop.c      |    98 +-
 sys/contrib/openzfs/module/zcommon/zpool_prop.c    |   126 +-
 sys/contrib/openzfs/module/zcommon/zprop_common.c  |    35 +-
 sys/contrib/openzfs/module/zfs/abd.c               |     8 +-
 sys/contrib/openzfs/module/zfs/arc.c               |    17 +-
 sys/contrib/openzfs/module/zfs/btree.c             |     5 +-
 sys/contrib/openzfs/module/zfs/dbuf.c              |    24 +-
 sys/contrib/openzfs/module/zfs/dbuf_stats.c        |     2 -
 sys/contrib/openzfs/module/zfs/ddt.c               |     2 -
 sys/contrib/openzfs/module/zfs/dmu.c               |     3 +-
 sys/contrib/openzfs/module/zfs/dmu_recv.c          |    18 +-
 sys/contrib/openzfs/module/zfs/dmu_redact.c        |     4 +-
 sys/contrib/openzfs/module/zfs/dmu_send.c          |    12 +-
 sys/contrib/openzfs/module/zfs/dmu_traverse.c      |     3 +-
 sys/contrib/openzfs/module/zfs/dmu_tx.c            |     1 -
 sys/contrib/openzfs/module/zfs/dmu_zfetch.c        |     2 -
 sys/contrib/openzfs/module/zfs/dnode_sync.c        |     2 +
 sys/contrib/openzfs/module/zfs/dsl_crypt.c         |     1 -
 sys/contrib/openzfs/module/zfs/dsl_dataset.c       |   305 +-
 sys/contrib/openzfs/module/zfs/dsl_deadlist.c      |     2 -
 sys/contrib/openzfs/module/zfs/dsl_dir.c           |    23 +-
 sys/contrib/openzfs/module/zfs/dsl_pool.c          |    10 +-
 sys/contrib/openzfs/module/zfs/dsl_prop.c          |     2 +-
 sys/contrib/openzfs/module/zfs/dsl_scan.c          |    18 +-
 sys/contrib/openzfs/module/zfs/edonr_zfs.c         |     4 +-
 sys/contrib/openzfs/module/zfs/hkdf.c              |    14 +-
 sys/contrib/openzfs/module/zfs/metaslab.c          |     9 +-
 sys/contrib/openzfs/module/zfs/mmp.c               |     6 +-
 sys/contrib/openzfs/module/zfs/multilist.c         |     2 -
 sys/contrib/openzfs/module/zfs/skein_zfs.c         |     1 -
 sys/contrib/openzfs/module/zfs/spa.c               |   116 +-
 sys/contrib/openzfs/module/zfs/spa_config.c        |     2 -
 sys/contrib/openzfs/module/zfs/spa_history.c       |     1 -
 sys/contrib/openzfs/module/zfs/spa_log_spacemap.c  |    44 +-
 sys/contrib/openzfs/module/zfs/spa_stats.c         |    10 +-
 sys/contrib/openzfs/module/zfs/txg.c               |    10 +-
 sys/contrib/openzfs/module/zfs/vdev.c              |    10 +-
 sys/contrib/openzfs/module/zfs/vdev_cache.c        |     6 +-
 sys/contrib/openzfs/module/zfs/vdev_indirect.c     |    19 +-
 sys/contrib/openzfs/module/zfs/vdev_initialize.c   |     4 +-
 sys/contrib/openzfs/module/zfs/vdev_label.c        |     2 +-
 sys/contrib/openzfs/module/zfs/vdev_mirror.c       |    21 +-
 sys/contrib/openzfs/module/zfs/vdev_queue.c        |    14 +-
 sys/contrib/openzfs/module/zfs/vdev_raidz.c        |     2 -
 .../openzfs/module/zfs/vdev_raidz_math_scalar.c    |     2 +-
 sys/contrib/openzfs/module/zfs/vdev_rebuild.c      |     6 +-
 sys/contrib/openzfs/module/zfs/vdev_removal.c      |     6 +-
 sys/contrib/openzfs/module/zfs/vdev_trim.c         |    18 +-
 sys/contrib/openzfs/module/zfs/zap.c               |     5 +-
 sys/contrib/openzfs/module/zfs/zap_leaf.c          |     2 -
 sys/contrib/openzfs/module/zfs/zap_micro.c         |     2 -
 sys/contrib/openzfs/module/zfs/zcp.c               |     2 -
 sys/contrib/openzfs/module/zfs/zcp_get.c           |    30 +-
 sys/contrib/openzfs/module/zfs/zfs_byteswap.c      |    13 +-
 sys/contrib/openzfs/module/zfs/zfs_ioctl.c         |   194 +-
 sys/contrib/openzfs/module/zfs/zfs_log.c           |    36 +-
 sys/contrib/openzfs/module/zfs/zfs_replay.c        |    93 +-
 sys/contrib/openzfs/module/zfs/zfs_sa.c            |    29 +-
 sys/contrib/openzfs/module/zfs/zfs_vnops.c         |   114 +-
 sys/contrib/openzfs/module/zfs/zil.c               |    76 +-
 sys/contrib/openzfs/module/zfs/zio.c               |    10 +-
 sys/contrib/openzfs/module/zfs/zio_inject.c        |     5 +-
 sys/contrib/openzfs/module/zfs/zthr.c              |     2 +-
 sys/contrib/openzfs/module/zfs/zvol.c              |    55 +-
 sys/contrib/openzfs/module/zstd/Makefile.in        |    39 +-
 sys/contrib/openzfs/module/zstd/README.md          |    36 +-
 sys/contrib/openzfs/module/zstd/include/string.h   |     1 +
 .../module/zstd/include/zstd_compat_wrapper.h      |    14 +
 .../openzfs/module/zstd/lib/common/bitstream.h     |   454 +
 .../openzfs/module/zstd/lib/common/compiler.h      |   175 +
 sys/contrib/openzfs/module/zstd/lib/common/cpu.h   |   215 +
 sys/contrib/openzfs/module/zstd/lib/common/debug.h |   114 +
 .../module/zstd/lib/common/entropy_common.c        |   216 +
 .../openzfs/module/zstd/lib/common/error_private.c |    55 +
 .../openzfs/module/zstd/lib/common/error_private.h |    80 +
 sys/contrib/openzfs/module/zstd/lib/common/fse.h   |   688 +
 .../module/zstd/lib/common/fse_decompress.c        |   286 +
 sys/contrib/openzfs/module/zstd/lib/common/huf.h   |   340 +
 sys/contrib/openzfs/module/zstd/lib/common/mem.h   |   450 +
 sys/contrib/openzfs/module/zstd/lib/common/pool.c  |   344 +
 sys/contrib/openzfs/module/zstd/lib/common/pool.h  |    84 +
 .../openzfs/module/zstd/lib/common/xxhash.c        |   864 +
 .../openzfs/module/zstd/lib/common/xxhash.h        |   285 +
 .../openzfs/module/zstd/lib/common/zstd_common.c   |    83 +
 .../module/zstd/lib/{ => common}/zstd_errors.h     |     0
 .../openzfs/module/zstd/lib/common/zstd_internal.h |   446 +
 .../module/zstd/lib/compress/fse_compress.c        |   698 +
 .../openzfs/module/zstd/lib/compress/hist.c        |   183 +
 .../openzfs/module/zstd/lib/compress/hist.h        |    75 +
 .../module/zstd/lib/compress/huf_compress.c        |   798 +
 .../module/zstd/lib/compress/zstd_compress.c       |  4278 +++
 .../zstd/lib/compress/zstd_compress_internal.h     |  1125 +
 .../zstd/lib/compress/zstd_compress_literals.c     |   158 +
 .../zstd/lib/compress/zstd_compress_literals.h     |    29 +
 .../zstd/lib/compress/zstd_compress_sequences.c    |   419 +
 .../zstd/lib/compress/zstd_compress_sequences.h    |    54 +
 .../zstd/lib/compress/zstd_compress_superblock.c   |   845 +
 .../zstd/lib/compress/zstd_compress_superblock.h   |    32 +
 .../openzfs/module/zstd/lib/compress/zstd_cwksp.h  |   525 +
 .../module/zstd/lib/compress/zstd_double_fast.c    |   521 +
 .../module/zstd/lib/compress/zstd_double_fast.h    |    38 +
 .../openzfs/module/zstd/lib/compress/zstd_fast.c   |   496 +
 .../openzfs/module/zstd/lib/compress/zstd_fast.h   |    37 +
 .../openzfs/module/zstd/lib/compress/zstd_lazy.c   |  1138 +
 .../openzfs/module/zstd/lib/compress/zstd_lazy.h   |    67 +
 .../openzfs/module/zstd/lib/compress/zstd_ldm.c    |   619 +
 .../openzfs/module/zstd/lib/compress/zstd_ldm.h    |   110 +
 .../openzfs/module/zstd/lib/compress/zstd_opt.c    |  1200 +
 .../openzfs/module/zstd/lib/compress/zstd_opt.h    |    56 +
 .../module/zstd/lib/decompress/huf_decompress.c    |  1248 +
 .../module/zstd/lib/decompress/zstd_ddict.c        |   244 +
 .../module/zstd/lib/decompress/zstd_ddict.h        |    44 +
 .../module/zstd/lib/decompress/zstd_decompress.c   |  1885 ++
 .../zstd/lib/decompress/zstd_decompress_block.c    |  1432 +
 .../zstd/lib/decompress/zstd_decompress_block.h    |    59 +
 .../zstd/lib/decompress/zstd_decompress_internal.h |   189 +
 sys/contrib/openzfs/module/zstd/lib/zstd.c         | 27824 -------------------
 sys/contrib/openzfs/module/zstd/lib/zstd.h         |    37 +-
 sys/contrib/openzfs/module/zstd/zfs_zstd.c         |     8 +-
 sys/contrib/openzfs/rpm/generic/zfs-kmod.spec.in   |     5 +-
 sys/contrib/openzfs/rpm/generic/zfs.spec.in        |    17 +-
 sys/contrib/openzfs/rpm/redhat/zfs-kmod.spec.in    |     5 +-
 sys/contrib/openzfs/scripts/Makefile.am            |     4 +-
 sys/contrib/openzfs/scripts/cstyle.pl              |     5 +-
 sys/contrib/openzfs/scripts/dkms.mkconf            |    22 +-
 sys/contrib/openzfs/scripts/zfs-tests-color.sh     |    27 +
 sys/contrib/openzfs/scripts/zfs-tests.sh           |    56 +-
 sys/contrib/openzfs/scripts/zloop.sh               |     3 +-
 sys/contrib/openzfs/tests/runfiles/common.run      |    22 +-
 sys/contrib/openzfs/tests/runfiles/freebsd.run     |     4 -
 sys/contrib/openzfs/tests/runfiles/linux.run       |    16 +
 sys/contrib/openzfs/tests/runfiles/sanity.run      |     2 +-
 .../tests/test-runner/bin/test-runner.py.in        |    54 +-
 .../openzfs/tests/test-runner/bin/zts-report.py.in |    10 +-
 .../openzfs/tests/test-runner/man/test-runner.1    |     2 +
 .../openzfs/tests/zfs-tests/cmd/Makefile.am        |     2 +
 .../openzfs/tests/zfs-tests/cmd/draid/draid.c      |     2 +-
 .../openzfs/tests/zfs-tests/cmd/mkbusy/mkbusy.c    |     6 +-
 .../openzfs/tests/zfs-tests/cmd/mkfile/mkfile.c    |     2 +-
 .../zfs-tests/cmd/read_dos_attributes/.gitignore   |     1 +
 .../zfs-tests/cmd/read_dos_attributes/Makefile.am  |     6 +
 .../cmd/read_dos_attributes/read_dos_attributes.c  |   167 +
 .../zfs-tests/cmd/write_dos_attributes/.gitignore  |     1 +
 .../zfs-tests/cmd/write_dos_attributes/Makefile.am |     6 +
 .../write_dos_attributes/write_dos_attributes.c    |   201 +
 .../openzfs/tests/zfs-tests/include/commands.cfg   |     7 +-
 .../openzfs/tests/zfs-tests/include/default.cfg.in |    15 +
 .../openzfs/tests/zfs-tests/include/libtest.shlib  |   144 +-
 .../openzfs/tests/zfs-tests/include/tunables.cfg   |     2 +
 .../tests/zfs-tests/tests/functional/Makefile.am   |     2 +
 .../zfs-tests/tests/functional/acl/off/Makefile.am |     2 -
 .../zfs-tests/tests/functional/acl/off/dosmode.ksh |    97 +-
 .../functional/acl/off/dosmode_readonly_write.c    |    11 +
 .../functional/alloc_class/alloc_class_012_pos.ksh |     3 +-
 .../functional/alloc_class/alloc_class_013_pos.ksh |     4 +-
 .../cli_root/zdb/zdb_object_range_pos.ksh          |     4 +-
 .../functional/cli_root/zdb/zdb_objset_id.ksh      |    30 +-
 .../tests/functional/cli_root/zfs/zfs_002_pos.ksh  |     1 -
 .../cli_root/zfs_copies/zfs_copies_002_pos.ksh     |     2 +-
 .../functional/cli_root/zfs_destroy/setup.ksh      |     4 +-
 .../zfs_clone_livelist_condense_and_disable.ksh    |     6 +
 .../zfs_clone_livelist_condense_races.ksh          |     6 +
 .../zfs_destroy/zfs_clone_livelist_dedup.ksh       |     7 +
 .../zfs_destroy/zfs_destroy_clone_livelist.ksh     |     6 +
 .../zfs_destroy_dev_removal_condense.ksh           |     2 +-
 .../functional/cli_root/zfs_receive/Makefile.am    |     3 +-
 .../zfs_receive/receive-o-x_props_aliases.ksh      |     2 +-
 .../zfs_receive/receive-o-x_props_override.ksh     |     2 +-
 .../zfs_receive/zfs_receive_-wR-encrypted-mix.ksh  |    75 +
 .../cli_root/zfs_receive/zfs_receive_010_pos.ksh   |     4 +-
 .../zfs_receive/zfs_receive_to_encrypted.ksh       |    18 +-
 .../tests/functional/cli_root/zfs_rename/setup.ksh |     3 +-
 .../functional/cli_root/zfs_send/zfs_send-b.ksh    |    10 +-
 .../cli_root/zfs_send/zfs_send_003_pos.ksh         |     2 +-
 .../cli_root/zfs_send/zfs_send_004_neg.ksh         |     2 +-
 .../cli_root/zfs_send/zfs_send_005_pos.ksh         |     2 +-
 .../cli_root/zfs_send/zfs_send_007_pos.ksh         |     2 +-
 .../cli_root/zfs_send/zfs_send_encrypted.ksh       |    10 +-
 .../zfs_send/zfs_send_encrypted_unloaded.ksh       |     2 +-
 .../functional/cli_root/zfs_send/zfs_send_raw.ksh  |    14 +-
 .../cli_root/zfs_send/zfs_send_skip_missing.ksh    |     5 +-
 .../cli_root/zfs_snapshot/zfs_snapshot_009_pos.ksh |     7 +-
 .../functional/cli_root/zpool/zpool_002_pos.ksh    |     1 -
 .../functional/cli_root/zpool/zpool_003_pos.ksh    |     1 -
 .../functional/cli_root/zpool_add/zpool_add.kshlib |    19 +-
 .../cli_root/zpool_create/zpool_create.shlib       |    17 +-
 .../cli_root/zpool_events/zpool_events_clear.ksh   |     3 +-
 .../cli_root/zpool_expand/zpool_expand_001_pos.ksh |     4 +-
 .../functional/cli_root/zpool_get/zpool_get.cfg    |     1 +
 .../zpool_import/import_devices_missing.ksh        |     4 +-
 .../zpool_import/import_rewind_config_changed.ksh  |    58 +-
 .../cli_root/zpool_import/zpool_import_errata4.ksh |     2 +-
 .../cli_root/zpool_trim/zpool_trim_partial.ksh     |     2 +-
 .../zpool_trim/zpool_trim_start_and_cancel_pos.ksh |     2 +-
 .../tests/functional/deadman/deadman_ratelimit.ksh |     2 +-
 .../tests/functional/dos_attributes/Makefile.am    |     8 +
 .../tests/functional/dos_attributes/cleanup.ksh    |    34 +
 .../dos_attributes/read_dos_attrs_001.ksh          |    60 +
 .../tests/functional/dos_attributes/setup.ksh      |    35 +
 .../dos_attributes/write_dos_attrs_001.ksh         |    61 +
 .../zfs-tests/tests/functional/events/cleanup.ksh  |     2 +
 .../tests/functional/events/events_002_pos.ksh     |     2 +-
 .../tests/functional/events/zed_fd_spill.ksh       |     8 +-
 .../tests/functional/fault/decrypt_fault.ksh       |     1 +
 .../features/large_dnode/large_dnode_005_pos.ksh   |     2 +-
 .../tests/functional/history/history_006_neg.ksh   |     4 +-
 .../functional/inheritance/inherit_001_pos.ksh     |     4 +-
 .../tests/functional/mv_files/mv_files_001_pos.ksh |     1 -
 .../tests/functional/mv_files/mv_files_002_pos.ksh |     1 -
 .../functional/mv_files/mv_files_common.kshlib     |    55 +-
 .../zfs-tests/tests/functional/mv_files/setup.ksh  |    24 +-
 .../tests/functional/no_space/Makefile.am          |     3 +-
 .../tests/functional/no_space/enospc_002_pos.ksh   |     3 -
 .../tests/functional/no_space/enospc_rm.ksh        |    60 +
 .../tests/functional/online_offline/setup.ksh      |     2 -
 .../zfs-tests/tests/functional/pam/pam_basic.ksh   |     4 +
 .../tests/functional/pam/pam_nounmount.ksh         |     4 +
 .../tests/functional/pam/pam_short_password.ksh    |     4 +
 .../pool_checkpoint/checkpoint_ro_rewind.ksh       |     4 +-
 .../projectquota/projecttree_002_pos.ksh           |     3 +-
 .../tests/functional/projectquota/setup.ksh        |     2 +
 .../tests/functional/pyzfs/pyzfs_unittest.ksh.in   |     4 +
 .../zfs-tests/tests/functional/quota/setup.ksh     |     4 +-
 .../redacted_send/redacted_incrementals.ksh        |    14 +-
 .../redacted_send/redacted_largeblocks.ksh         |     2 +-
 .../functional/redacted_send/redacted_negative.ksh |     8 +-
 .../functional/redacted_send/redacted_resume.ksh   |     2 +-
 .../tests/functional/redundancy/redundancy.kshlib  |     4 +-
 .../functional/redundancy/redundancy_draid.ksh     |     2 +-
 .../redundancy/redundancy_draid_damaged.ksh        |     6 +-
 .../functional/redundancy/redundancy_raidz.ksh     |     2 +-
 .../zfs-tests/tests/functional/refquota/setup.ksh  |     4 +-
 .../tests/functional/refreserv/refreserv_raidz.ksh |     2 +-
 .../zfs-tests/tests/functional/refreserv/setup.ksh |     4 +-
 .../functional/removal/removal_with_errors.ksh     |     1 +
 .../functional/removal/removal_with_export.ksh     |     1 +
 .../tests/functional/removal/removal_with_send.ksh |     2 +-
 .../tests/functional/replacement/setup.ksh         |     2 -
 .../tests/functional/reservation/setup.ksh         |     1 +
 .../zfs-tests/tests/functional/rsend/Makefile.am   |     2 +
 .../tests/functional/rsend/recv_dedup.ksh          |     3 +-
 .../zfs-tests/tests/functional/rsend/rsend.kshlib  |     6 +-
 .../tests/functional/rsend/rsend_009_pos.ksh       |     4 +-
 .../tests/functional/rsend/rsend_016_neg.ksh       |    11 +-
 .../tests/functional/rsend/send_invalid.ksh        |     2 +-
 .../functional/rsend/send_partial_dataset.ksh      |     4 +-
 .../tests/functional/rsend/send_raw_ashift.ksh     |   193 +
 .../functional/rsend/send_raw_spill_block.ksh      |   161 +
 .../zfs-tests/tests/functional/simd/Makefile.am    |     2 +
 .../tests/functional/simd/simd_supported.ksh       |    58 +
 .../zfs-tests/tests/functional/slog/Makefile.am    |     3 +-
 .../tests/functional/slog/slog_016_pos.ksh         |   157 +
 .../tests/functional/slog/slog_replay_fs_001.ksh   |     6 +-
 .../tests/functional/slog/slog_replay_fs_002.ksh   |     6 +-
 .../tests/functional/snapshot/snapshot_002_pos.ksh |    39 +-
 .../tests/functional/snapshot/snapshot_006_pos.ksh |    39 +-
 .../tests/functional/snapshot/snapshot_014_pos.ksh |     3 +
 .../zfs-tests/tests/functional/suid/Makefile.am    |     1 +
 .../tests/functional/suid/suid_write_to_file.c     |   150 +-
 .../tests/functional/suid/suid_write_to_none.ksh   |     2 +-
 .../tests/functional/suid/suid_write_to_sgid.ksh   |     2 +-
 .../tests/functional/suid/suid_write_to_suid.ksh   |     2 +-
 .../functional/suid/suid_write_to_suid_sgid.ksh    |     2 +-
 .../functional/suid/suid_write_zil_replay.ksh      |    99 +
 .../tests/functional/tmpfile/tmpfile_002_pos.c     |     6 +-
 .../zfs-tests/tests/functional/userquota/setup.ksh |     4 +-
 .../userquota/userspace_send_encrypted.ksh         |     2 +-
 .../functional/vdev_zaps/vdev_zaps_004_pos.ksh     |     1 +
 .../tests/functional/write_dirs/setup.ksh          |     4 +-
 .../zfs-tests/tests/functional/xattr/Makefile.am   |     3 +-
 .../zfs-tests/tests/functional/xattr/setup.ksh     |     4 +-
 .../tests/functional/xattr/xattr_compat.ksh        |    92 +
 .../zvol/zvol_misc/zvol_misc_volmode.ksh           |    49 +-
 sys/modules/zfs/Makefile                           |   100 +-
 598 files changed, 31738 insertions(+), 43822 deletions(-)

diff --cc cddl/contrib/opensolaris/tools/ctf/cvt/ctftools.h
index 974d22459991,000000000000..612c9f25a5a0
mode 100644,000000..100644
--- a/cddl/contrib/opensolaris/tools/ctf/cvt/ctftools.h
+++ b/cddl/contrib/opensolaris/tools/ctf/cvt/ctftools.h
@@@ -1,448 -1,0 +1,448 @@@
 +/*
 + * CDDL HEADER START
 + *
 + * The contents of this file are subject to the terms of the
 + * Common Development and Distribution License (the "License").
 + * You may not use this file except in compliance with the License.
 + *
 + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 + * or http://www.opensolaris.org/os/licensing.
 + * See the License for the specific language governing permissions
 + * and limitations under the License.
 + *
 + * When distributing Covered Code, include this CDDL HEADER in each
 + * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 + * If applicable, add the following below this CDDL HEADER, with the
 + * fields enclosed by brackets "[]" replaced with your own identifying
 + * information: Portions Copyright [yyyy] [name of copyright owner]
 + *
 + * CDDL HEADER END
 + */
 +/*
 + * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
 + * Use is subject to license terms.
 + */
 +
 +#ifndef _CTFTOOLS_H
 +#define	_CTFTOOLS_H
 +
 +/*
 + * Functions and data structures used in the manipulation of stabs and CTF data
 + */
 +
 +#include <stdio.h>
 +#include <stdlib.h>
 +#include <stdarg.h>
 +#include <libelf.h>
 +#include <gelf.h>
 +#include <pthread.h>
 +
 +#include <sys/ccompile.h>
 +#include <sys/endian.h>
 +
 +#ifdef __cplusplus
 +extern "C" {
 +#endif
 +
 +#include "list.h"
 +#include "hash.h"
 +
 +#ifndef DEBUG_LEVEL
 +#define	DEBUG_LEVEL 0
 +#endif
 +
 +#ifndef DEBUG_STREAM
 +#define	DEBUG_STREAM stderr
 +#endif
 +
 +#ifndef MAX
 +#define	MAX(a, b) 		((a) < (b) ? (b) : (a))
 +#endif
 +
 +#ifndef MIN
 +#define	MIN(a, b) 		((a) > (b) ? (b) : (a))
 +#endif
 +
 +/* Sanity check for cross-build bootstrap tools */
 +#if !defined(BYTE_ORDER)
 +#error "Missing BYTE_ORDER defines"
 +#elif !defined(_LITTLE_ENDIAN)
 +#error "Missing _LITTLE_ENDIAN defines"
 +#elif !defined(_BIG_ENDIAN)
 +#error "Missing _BIG_ENDIAN defines"
 +#endif
 +
 +#define	TRUE	1
 +#define	FALSE	0
 +
 +#define	CTF_ELF_SCN_NAME	".SUNW_ctf"
 +
 +#define	CTF_LABEL_LASTIDX	-1
 +
 +#define	CTF_DEFAULT_LABEL	"*** No Label Provided ***"
 +
 +/*
 + * Default hash sizes
 + */
 +#define	TDATA_LAYOUT_HASH_SIZE	8191	/* A tdesc hash based on layout */
 +#define	TDATA_ID_HASH_SIZE	997	/* A tdesc hash based on type id */
 +#define	IIDESC_HASH_SIZE	8191	/* Hash of iidesc's */
 +
 +/*
 + * The default function argument array size.  We'll realloc the array larger
 + * if we need to, but we want a default value that will allow us to avoid
 + * reallocation in the common case.
 + */
 +#define	FUNCARG_DEF	5
 +
 +extern const char *progname;
 +extern int debug_level;
 +extern char *curhdr;
 +
 +/*
 + * This is a partial copy of the stab.h that DevPro includes with their
 + * compiler.
 + */
 +typedef struct stab {
 +	uint32_t	n_strx;
 +	uint8_t		n_type;
 +	int8_t		n_other;
 +	int16_t		n_desc;
 +	uint32_t	n_value;
 +} stab_t;
 +
 +#define	N_GSYM	0x20	/* global symbol: name,,0,type,0 */
 +#define	N_FUN	0x24	/* procedure: name,,0,linenumber,0 */
 +#define	N_STSYM	0x26	/* static symbol: name,,0,type,0 or section relative */
 +#define	N_LCSYM	0x28	/* .lcomm symbol: name,,0,type,0 or section relative */
 +#define	N_ROSYM	0x2c	/* ro_data: name,,0,type,0 or section relative */
 +#define	N_OPT	0x3c	/* compiler options */
 +#define	N_RSYM	0x40	/* register sym: name,,0,type,register */
 +#define	N_SO	0x64	/* source file name: name,,0,0,0 */
 +#define	N_LSYM	0x80	/* local sym: name,,0,type,offset */
 +#define	N_SOL	0x84	/* #included file name: name,,0,0,0 */
 +#define	N_PSYM	0xa0	/* parameter: name,,0,type,offset */
 +#define	N_LBRAC	0xc0	/* left bracket: 0,,0,nesting level,function relative */
 +#define	N_RBRAC	0xe0	/* right bracket: 0,,0,nesting level,func relative */
 +#define	N_BINCL 0x82	/* header file: name,,0,0,0 */
 +#define	N_EINCL 0xa2	/* end of include file */
 +
 +/*
 + * Nodes in the type tree
 + *
 + * Each node consists of a single tdesc_t, with one of several auxiliary
 + * structures linked in via the `data' union.
 + */
 +
 +/* The type of tdesc_t node */
 +typedef enum stabtype {
 +	STABTYPE_FIRST, /* do not use */
 +	INTRINSIC,
 +	POINTER,
 +	ARRAY,
 +	FUNCTION,
 +	STRUCT,
 +	UNION,
 +	ENUM,
 +	FORWARD,
 +	TYPEDEF,
 +	TYPEDEF_UNRES,
 +	VOLATILE,
 +	CONST,
 +	RESTRICT,
 +	STABTYPE_LAST /* do not use */
 +} stabtype_t;
 +
 +typedef struct tdesc tdesc_t;
 +
 +/* Auxiliary structure for array tdesc_t */
 +typedef struct ardef {
 +	tdesc_t	*ad_contents;
 +	tdesc_t *ad_idxtype;
 +	uint_t	ad_nelems;
 +} ardef_t;
 +
 +/* Auxiliary structure for structure/union tdesc_t */
 +typedef struct mlist {
 +	int	ml_offset;	/* Offset from start of structure (in bits) */
 +	int	ml_size;	/* Member size (in bits) */
 +	char	*ml_name;	/* Member name */
 +	struct	tdesc *ml_type;	/* Member type */
 +	struct	mlist *ml_next;	/* Next member */
 +} mlist_t;
 +
 +/* Auxiliary structure for enum tdesc_t */
 +typedef struct elist {
 +	char	*el_name;
 +	int	el_number;
 +	struct elist *el_next;
 +} elist_t;
 +
 +/* Auxiliary structure for intrinsics (integers and reals) */
 +typedef enum {
 +	INTR_INT,
 +	INTR_REAL
 +} intrtype_t;
 +
 +typedef struct intr {
 +	intrtype_t	intr_type;
 +	int		intr_signed;
 +	union {
 +			char _iformat;
 +			int _fformat;
 +	} _u;
 +	int		intr_offset;
 +	int		intr_nbits;
 +} intr_t;
 +
 +#define	intr_iformat _u._iformat
 +#define	intr_fformat _u._fformat
 +
 +typedef struct fnarg {
 +	char *fna_name;
 +	struct tdesc *fna_type;
 +} fnarg_t;
 +
 +#define	FN_F_GLOBAL	0x1
 +#define	FN_F_VARARGS	0x2
 +
 +typedef struct fndef {
 +	struct tdesc *fn_ret;
 +	uint_t fn_nargs;
 +	tdesc_t **fn_args;
 +	uint_t fn_vargs;
 +} fndef_t;
 +
 +typedef int32_t tid_t;
 +
 +/*
 + * The tdesc_t (Type DESCription) is the basic node type used in the stabs data
 + * structure.  Each data node gets a tdesc structure.  Each node is linked into
 + * a directed graph (think of it as a tree with multiple roots and multiple
 + * leaves), with the root nodes at the top, and intrinsics at the bottom.  The
 + * root nodes, which are pointed to by iidesc nodes, correspond to the types,
 + * globals, and statics defined by the stabs.
 + */
 +struct tdesc {
 +	char	*t_name;
 +	tdesc_t *t_next;	/* Name hash next pointer */
 +
 +	tid_t t_id;
 +	tdesc_t *t_hash;	/* ID hash next pointer */
 +
 +	stabtype_t t_type;
 +	int	t_size;	/* Size in bytes of object represented by this node */
 +
 +	union {
 +		intr_t	*intr;		/* int, real */
 +		tdesc_t *tdesc;		/* ptr, typedef, vol, const, restr */
 +		ardef_t *ardef;		/* array */
 +		mlist_t *members;	/* struct, union */
 +		elist_t *emem;		/* enum */
 +		fndef_t *fndef;		/* function - first is return type */
 +	} t_data;
 +
 +	int t_flags;
 +	int t_vgen;	/* Visitation generation (see traverse.c) */
 +	int t_emark;	/* Equality mark (see equiv_cb() in merge.c) */
 +};
 +
 +#define	t_intr		t_data.intr
 +#define	t_tdesc		t_data.tdesc
 +#define	t_ardef		t_data.ardef
 +#define	t_members	t_data.members
 +#define	t_emem		t_data.emem
 +#define	t_fndef		t_data.fndef
 +
 +#define	TDESC_F_ISROOT		0x1	/* Has an iidesc_t (see below) */
 +#define	TDESC_F_GLOBAL		0x2
 +#define	TDESC_F_RESOLVED	0x4
 +
 +/*
 + * iidesc_t (Interesting Item DESCription) nodes point to tdesc_t nodes that
 + * correspond to "interesting" stabs.  A stab is interesting if it defines a
 + * global or static variable, a global or static function, or a data type.
 + */
 +typedef enum iitype {
 +	II_NOT = 0,
 +	II_GFUN,	/* Global function */
 +	II_SFUN,	/* Static function */
 +	II_GVAR,	/* Global variable */
 +	II_SVAR,	/* Static variable */
 +	II_PSYM,	/* Function argument */
 +	II_SOU,		/* Struct or union */
 +	II_TYPE		/* Type (typedef) */
 +} iitype_t;
 +
 +typedef struct iidesc {
 +	iitype_t	ii_type;
 +	char		*ii_name;
 +	tdesc_t 	*ii_dtype;
 +	char		*ii_owner;	/* File that defined this node */
 +	int		ii_flags;
 +
 +	/* Function arguments (if any) */
 +	int		ii_nargs;
 +	tdesc_t 	**ii_args;
 +	int		ii_vargs;	/* Function uses varargs */
 +} iidesc_t;
 +
 +#define	IIDESC_F_USED	0x1	/* Write this iidesc out */
 +
 +/*
 + * labelent_t nodes identify labels and corresponding type ranges associated
 + * with them.  The label in a given labelent_t is associated with types with
 + * ids <= le_idx.
 + */
 +typedef struct labelent {
 +	char *le_name;
 +	int le_idx;
 +} labelent_t;
 +
 +/*
 + * The tdata_t (Type DATA) structure contains or references all type data for
 + * a given file or, during merging, several files.
 + */
 +typedef struct tdata {
 +	int	td_curemark;	/* Equality mark (see merge.c) */
 +	int	td_curvgen;	/* Visitation generation (see traverse.c) */
 +	int	td_nextid;	/* The ID for the next tdesc_t created */
 +	hash_t	*td_iihash;	/* The iidesc_t nodes for this file */
 +
 +	hash_t	*td_layouthash;	/* The tdesc nodes, hashed by structure */
 +	hash_t	*td_idhash;	/* The tdesc nodes, hashed by type id */
 +	list_t	*td_fwdlist;	/* All forward declaration tdesc nodes */
 +
 +	char	*td_parlabel;	/* Top label uniq'd against in parent */
 +	char	*td_parname;	/* Basename of parent */
 +	list_t	*td_labels;	/* Labels and their type ranges */
 +
 +	pthread_mutex_t td_mergelock;
 +
 +	int	td_ref;
 +} tdata_t;
 +
 +/*
 + * By design, the iidesc hash is heterogeneous.  The CTF emitter, on the
 + * other hand, needs to be able to access the elements of the list by type,
 + * and in a specific sorted order.  An iiburst holds these elements in that
 + * order.  (A burster is a machine that separates carbon-copy forms)
 + */
 +typedef struct iiburst {
 +	int iib_nfuncs;
 +	int iib_curfunc;
 +	iidesc_t **iib_funcs;
 +
 +	int iib_nobjts;
 +	int iib_curobjt;
 +	iidesc_t **iib_objts;
 +
 +	list_t *iib_types;
 +	int iib_maxtypeid;
 +
 +	tdata_t *iib_td;
 +	struct tdtrav_data *iib_tdtd; /* tdtrav_data_t */
 +} iiburst_t;
 +
 +typedef struct ctf_buf ctf_buf_t;
 +
 +typedef struct symit_data symit_data_t;
 +
*** 1717 LINES SKIPPED ***