git: e92ffd9b6268 - main - zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

From: Martin Matuska <mm_at_FreeBSD.org>
Date: Sat, 22 Jan 2022 23:10:07 UTC
The branch main has been updated by mm:

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

commit e92ffd9b626833ebdbf2742c8ffddc6cd94b963e
Merge: 3c3df3660072 17b2ae0b24d4
Author:     Martin Matuska <mm@FreeBSD.org>
AuthorDate: 2022-01-22 22:05:15 +0000
Commit:     Martin Matuska <mm@FreeBSD.org>
CommitDate: 2022-01-22 22:05:15 +0000

    zfs: merge openzfs/zfs@17b2ae0b2 (master) into main
    
    Notable upstream pull request merges:
      #12766 Fix error propagation from lzc_send_redacted
      #12805 Updated the lz4 decompressor
      #12851 FreeBSD: Provide correct file generation number
      #12857 Verify dRAID empty sectors
      #12874 FreeBSD: Update argument types for VOP_READDIR
      #12896 Reduce number of arc_prune threads
      #12934 FreeBSD: Fix zvol_*_open() locking
      #12947 lz4: Cherrypick fix for CVE-2021-3520
      #12961 FreeBSD: Fix leaked strings in libspl mnttab
      #12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
      #12981 Introduce a flag to skip comparing the local mac when raw sending
      #12985 Avoid memory allocations in the ARC eviction thread
    
    Obtained from:  OpenZFS
    OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6

 cddl/lib/libicp/Makefile                           |    6 -
 cddl/lib/libicp_rescue/Makefile                    |   11 -
 cddl/lib/libzfsbootenv/Makefile                    |    3 +
 cddl/lib/libzpool/Makefile                         |    1 +
 lib/libbe/Makefile                                 |    5 +-
 .../openzfs/.github/workflows/checkstyle.yaml      |    2 +-
 .../.github/workflows/zfs-tests-functional.yml     |    5 +-
 .../openzfs/.github/workflows/zfs-tests-sanity.yml |    5 +-
 sys/contrib/openzfs/.github/workflows/zloop.yml    |    1 -
 sys/contrib/openzfs/Makefile.am                    |    8 +-
 sys/contrib/openzfs/README.md                      |    2 +-
 sys/contrib/openzfs/cmd/Makefile.am                |    5 +-
 sys/contrib/openzfs/cmd/arc_summary/Makefile.am    |    7 +-
 sys/contrib/openzfs/cmd/arc_summary/arc_summary2   | 1180 -------------
 sys/contrib/openzfs/cmd/arc_summary/arc_summary3   |   14 +-
 sys/contrib/openzfs/cmd/arcstat/arcstat.in         |    2 +-
 sys/contrib/openzfs/cmd/dbufstat/dbufstat.in       |    2 +-
 sys/contrib/openzfs/cmd/fsck_zfs/Makefile.am       |    2 +
 sys/contrib/openzfs/cmd/raidz_test/raidz_test.c    |    8 +-
 sys/contrib/openzfs/cmd/zdb/zdb.c                  |  353 ++--
 sys/contrib/openzfs/cmd/zdb/zdb_il.c               |   22 +-
 sys/contrib/openzfs/cmd/zed/Makefile.am            |    1 +
 sys/contrib/openzfs/cmd/zed/agents/fmd_api.c       |   24 +-
 sys/contrib/openzfs/cmd/zed/agents/zfs_agents.c    |    2 +
 sys/contrib/openzfs/cmd/zed/agents/zfs_diagnosis.c |   36 +-
 sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c       |   16 +-
 sys/contrib/openzfs/cmd/zed/agents/zfs_retire.c    |    3 +-
 sys/contrib/openzfs/cmd/zed/zed.c                  |    2 +
 sys/contrib/openzfs/cmd/zed/zed.d/Makefile.am      |    4 +
 sys/contrib/openzfs/cmd/zed/zed.d/all-debug.sh     |    1 +
 sys/contrib/openzfs/cmd/zed/zed.d/all-syslog.sh    |    1 +
 sys/contrib/openzfs/cmd/zed/zed.d/data-notify.sh   |    1 +
 .../openzfs/cmd/zed/zed.d/generic-notify.sh        |    1 +
 .../zed/zed.d/history_event-zfs-list-cacher.sh.in  |    3 +-
 .../cmd/zed/zed.d/resilver_finish-start-scrub.sh   |    1 +
 .../openzfs/cmd/zed/zed.d/scrub_finish-notify.sh   |    1 +
 .../openzfs/cmd/zed/zed.d/statechange-led.sh       |   42 +-
 .../openzfs/cmd/zed/zed.d/statechange-notify.sh    |    1 +
 .../openzfs/cmd/zed/zed.d/trim_finish-notify.sh    |    1 +
 sys/contrib/openzfs/cmd/zed/zed.d/zed-functions.sh |    4 +-
 sys/contrib/openzfs/cmd/zed/zed.d/zed.rc           |    5 +-
 sys/contrib/openzfs/cmd/zed/zed_exec.c             |    5 +-
 sys/contrib/openzfs/cmd/zfs/zfs_iter.c             |    5 +-
 sys/contrib/openzfs/cmd/zhack/zhack.c              |   16 +-
 sys/contrib/openzfs/cmd/zinject/zinject.c          |    2 +-
 sys/contrib/openzfs/cmd/zpool/Makefile.am          |    2 +
 .../openzfs/cmd/zpool/os/freebsd/zpool_vdev_os.c   |    2 +
 .../openzfs/cmd/zpool/os/linux/zpool_vdev_os.c     |    1 +
 sys/contrib/openzfs/cmd/zpool/zpool.d/dm-deps      |    1 +
 sys/contrib/openzfs/cmd/zpool/zpool.d/iostat       |    3 +-
 sys/contrib/openzfs/cmd/zpool/zpool.d/lsblk        |    1 +
 sys/contrib/openzfs/cmd/zpool/zpool.d/media        |    2 +
 sys/contrib/openzfs/cmd/zpool/zpool.d/ses          |    5 +-
 sys/contrib/openzfs/cmd/zpool/zpool.d/smart        |    1 +
 sys/contrib/openzfs/cmd/zpool/zpool.d/upath        |    1 +
 sys/contrib/openzfs/cmd/zpool/zpool_iter.c         |    2 +-
 sys/contrib/openzfs/cmd/zpool/zpool_main.c         |   32 +-
 sys/contrib/openzfs/cmd/ztest/ztest.c              |   76 +-
 sys/contrib/openzfs/cmd/zvol_wait/Makefile.am      |    2 +
 sys/contrib/openzfs/config/always-parallel.m4      |    8 +
 sys/contrib/openzfs/config/always-python.m4        |   25 +-
 sys/contrib/openzfs/config/always-pyzfs.m4         |    7 +-
 sys/contrib/openzfs/config/ax_code_coverage.m4     |    1 +
 sys/contrib/openzfs/config/user-libfetch.m4        |    6 +-
 sys/contrib/openzfs/config/zfs-build.m4            |    1 +
 sys/contrib/openzfs/configure.ac                   |    2 +
 .../contrib/dracut/90zfs/module-setup.sh.in        |    2 +-
 .../contrib/dracut/90zfs/zfs-load-key.sh.in        |    2 +-
 sys/contrib/openzfs/contrib/initramfs/hooks/zfs.in |    2 +-
 sys/contrib/openzfs/contrib/initramfs/scripts/zfs  |    2 +-
 .../openzfs/contrib/pam_zfs_key/pam_zfs_key.c      |    9 +
 sys/contrib/openzfs/contrib/pyzfs/setup.py.in      |    9 +-
 sys/contrib/openzfs/etc/Makefile.am                |    5 +-
 sys/contrib/openzfs/etc/default/Makefile.am        |    3 +-
 sys/contrib/openzfs/etc/default/zfs.in             |    1 +
 sys/contrib/openzfs/etc/init.d/Makefile.am         |    3 +-
 sys/contrib/openzfs/etc/init.d/zfs-import.in       |    1 +
 sys/contrib/openzfs/etc/init.d/zfs-load-key.in     |    1 +
 sys/contrib/openzfs/etc/init.d/zfs-mount.in        |    3 +-
 sys/contrib/openzfs/etc/init.d/zfs-share.in        |    1 +
 sys/contrib/openzfs/etc/init.d/zfs-zed.in          |    1 +
 sys/contrib/openzfs/etc/systemd/system/.gitignore  |    1 +
 sys/contrib/openzfs/etc/systemd/system/Makefile.am |    5 +-
 .../etc/systemd/system/zfs-scrub-monthly@.timer.in |   12 +
 .../etc/systemd/system/zfs-scrub-weekly@.timer.in  |   12 +
 .../etc/systemd/system/zfs-scrub@.service.in       |   14 +
 sys/contrib/openzfs/etc/zfs/Makefile.am            |    3 +-
 sys/contrib/openzfs/etc/zfs/zfs-functions.in       |    7 +-
 sys/contrib/openzfs/include/libzfs.h               |    2 +-
 .../openzfs/include/os/freebsd/spl/sys/debug.h     |   16 +-
 .../openzfs/include/os/freebsd/spl/sys/vnode.h     |    1 -
 .../include/os/freebsd/zfs/sys/freebsd_crypto.h    |    4 +-
 .../include/os/freebsd/zfs/sys/zfs_context_os.h    |    2 +-
 .../include/os/freebsd/zfs/sys/zfs_znode_impl.h    |    3 +-
 sys/contrib/openzfs/include/os/linux/spl/rpc/xdr.h |    3 +-
 .../openzfs/include/os/linux/spl/sys/debug.h       |   16 +-
 .../openzfs/include/os/linux/spl/sys/sysmacros.h   |    1 -
 .../openzfs/include/os/linux/spl/sys/taskq.h       |    3 +-
 .../include/os/linux/zfs/sys/zfs_znode_impl.h      |    3 +-
 sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h |    1 -
 sys/contrib/openzfs/include/sys/arc.h              |    2 +
 sys/contrib/openzfs/include/sys/crypto/api.h       |    2 +-
 sys/contrib/openzfs/include/sys/crypto/icp.h       |    6 -
 sys/contrib/openzfs/include/sys/dmu.h              |    2 -
 sys/contrib/openzfs/include/sys/dmu_recv.h         |    2 +-
 sys/contrib/openzfs/include/sys/dsl_dataset.h      |    5 +-
 sys/contrib/openzfs/include/sys/dsl_pool.h         |    1 -
 sys/contrib/openzfs/include/sys/efi_partition.h    |    1 -
 sys/contrib/openzfs/include/sys/fs/zfs.h           |    3 +-
 sys/contrib/openzfs/include/sys/metaslab.h         |    4 +-
 sys/contrib/openzfs/include/sys/metaslab_impl.h    |    2 +-
 sys/contrib/openzfs/include/sys/nvpair.h           |    8 +-
 sys/contrib/openzfs/include/sys/qat.h              |   26 +-
 sys/contrib/openzfs/include/sys/range_tree.h       |   10 +-
 sys/contrib/openzfs/include/sys/sa.h               |    3 +-
 sys/contrib/openzfs/include/sys/spa.h              |    3 +
 sys/contrib/openzfs/include/sys/spa_impl.h         |    2 +-
 sys/contrib/openzfs/include/sys/vdev_draid.h       |    1 +
 sys/contrib/openzfs/include/sys/vdev_impl.h        |    2 -
 sys/contrib/openzfs/include/sys/vdev_raidz.h       |    2 +
 sys/contrib/openzfs/include/sys/vdev_raidz_impl.h  |    4 +-
 sys/contrib/openzfs/include/sys/zfs_acl.h          |    2 +-
 sys/contrib/openzfs/include/sys/zfs_context.h      |    2 +-
 sys/contrib/openzfs/include/sys/zfs_ioctl_impl.h   |    1 -
 sys/contrib/openzfs/include/sys/zfs_sa.h           |    3 +-
 sys/contrib/openzfs/include/sys/zfs_sysfs.h        |    7 +-
 sys/contrib/openzfs/include/sys/zil.h              |    4 +-
 sys/contrib/openzfs/include/sys/zio.h              |    2 +-
 sys/contrib/openzfs/include/sys/zio_crypt.h        |    2 +-
 sys/contrib/openzfs/include/sys/zthr.h             |    1 +
 sys/contrib/openzfs/include/sys/zvol_impl.h        |    3 +-
 sys/contrib/openzfs/include/zfs_comutil.h          |    2 +-
 sys/contrib/openzfs/include/zfs_deleg.h            |    2 +-
 sys/contrib/openzfs/include/zfs_prop.h             |   15 +-
 sys/contrib/openzfs/lib/libefi/rdwr_efi.c          |   27 -
 sys/contrib/openzfs/lib/libicp/Makefile.am         |    5 -
 sys/contrib/openzfs/lib/libnvpair/libnvpair.abi    |   85 +-
 sys/contrib/openzfs/lib/libnvpair/libnvpair.c      |    4 +-
 .../openzfs/lib/libnvpair/nvpair_alloc_system.c    |   10 +-
 sys/contrib/openzfs/lib/libshare/nfs.c             |  177 +-
 sys/contrib/openzfs/lib/libshare/nfs.h             |    4 +-
 sys/contrib/openzfs/lib/libshare/os/freebsd/nfs.c  |  146 +-
 sys/contrib/openzfs/lib/libshare/os/linux/nfs.c    |  155 +-
 sys/contrib/openzfs/lib/libshare/os/linux/smb.c    |    2 +-
 sys/contrib/openzfs/lib/libspl/include/assert.h    |   18 +-
 sys/contrib/openzfs/lib/libspl/include/sys/kmem.h  |    4 +-
 sys/contrib/openzfs/lib/libspl/include/umem.h      |    4 +-
 sys/contrib/openzfs/lib/libspl/os/freebsd/mnttab.c |   25 +-
 sys/contrib/openzfs/lib/libzfs/libzfs.abi          |  207 +--
 sys/contrib/openzfs/lib/libzfs/libzfs_changelist.c |    4 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_config.c     |    6 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c     |   12 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c    |    1 +
 sys/contrib/openzfs/lib/libzfs/libzfs_mount.c      |    9 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c   |    2 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_status.c     |   12 +-
 .../openzfs/lib/libzfs/os/freebsd/libzfs_zmount.c  |    3 +
 .../openzfs/lib/libzfs/os/linux/libzfs_mount_os.c  |    6 +-
 .../openzfs/lib/libzfs/os/linux/libzfs_util_os.c   |    1 +
 sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c  |    4 +-
 sys/contrib/openzfs/lib/libzpool/Makefile.am       |    1 +
 sys/contrib/openzfs/lib/libzpool/kernel.c          |   73 +-
 sys/contrib/openzfs/lib/libzpool/taskq.c           |    8 +-
 sys/contrib/openzfs/lib/libzpool/util.c            |    3 +
 .../lib/libzutil/os/freebsd/zutil_device_path_os.c |    2 +-
 .../lib/libzutil/os/freebsd/zutil_import_os.c      |    4 +-
 .../lib/libzutil/os/linux/zutil_device_path_os.c   |    2 +-
 .../lib/libzutil/os/linux/zutil_import_os.c        |    6 +-
 sys/contrib/openzfs/lib/libzutil/zutil_import.c    |    1 +
 sys/contrib/openzfs/man/man4/zfs.4                 |   52 +-
 sys/contrib/openzfs/man/man7/vdevprops.7           |    2 +-
 sys/contrib/openzfs/man/man7/zfsprops.7            |    8 +-
 sys/contrib/openzfs/man/man7/zpoolprops.7          |    3 +-
 sys/contrib/openzfs/man/man8/zdb.8                 |   89 +-
 sys/contrib/openzfs/man/man8/zfs-load-key.8        |    2 +-
 sys/contrib/openzfs/man/man8/zfs-share.8           |   12 +-
 sys/contrib/openzfs/man/man8/zgenhostid.8          |    2 +-
 sys/contrib/openzfs/man/man8/zpool-attach.8        |    2 +-
 sys/contrib/openzfs/man/man8/zpool-clear.8         |    7 +-
 sys/contrib/openzfs/man/man8/zpool-events.8        |    4 +-
 sys/contrib/openzfs/man/man8/zpool-replace.8       |    2 +-
 sys/contrib/openzfs/man/man8/zpool-scrub.8         |   21 +
 sys/contrib/openzfs/module/Makefile.bsd            |    3 +-
 sys/contrib/openzfs/module/Makefile.in             |   18 +-
 sys/contrib/openzfs/module/avl/avl.c               |    3 +-
 sys/contrib/openzfs/module/icp/Makefile.in         |    8 -
 sys/contrib/openzfs/module/icp/algs/aes/aes_impl.c |    3 +-
 sys/contrib/openzfs/module/icp/algs/edonr/edonr.c  |    6 +
 .../module/icp/algs/edonr/edonr_byteorder.h        |    2 +-
 sys/contrib/openzfs/module/icp/algs/modes/cbc.c    |    2 -
 sys/contrib/openzfs/module/icp/algs/modes/ccm.c    |    3 +-
 sys/contrib/openzfs/module/icp/algs/modes/ctr.c    |    1 -
 sys/contrib/openzfs/module/icp/algs/modes/ecb.c    |    1 -
 sys/contrib/openzfs/module/icp/algs/modes/gcm.c    |   13 +-
 sys/contrib/openzfs/module/icp/algs/sha1/sha1.c    |  835 ---------
 sys/contrib/openzfs/module/icp/algs/sha2/sha2.c    |    2 +-
 .../openzfs/module/icp/algs/skein/skein_impl.h     |    2 -
 .../openzfs/module/icp/algs/skein/skein_iv.c       |   24 -
 sys/contrib/openzfs/module/icp/api/kcf_miscapi.c   |    2 +-
 .../openzfs/module/icp/asm-x86_64/aes/aes_aesni.S  |    8 +-
 .../openzfs/module/icp/asm-x86_64/aes/aes_amd64.S  |    8 +-
 .../module/icp/asm-x86_64/modes/gcm_pclmulqdq.S    |    4 +-
 .../module/icp/asm-x86_64/sha1/sha1-x86_64.S       | 1369 ---------------
 .../module/icp/asm-x86_64/sha2/sha256_impl.S       |    4 +-
 .../module/icp/asm-x86_64/sha2/sha512_impl.S       |    4 +-
 sys/contrib/openzfs/module/icp/core/kcf_callprov.c |    4 +-
 .../openzfs/module/icp/core/kcf_mech_tabs.c        |   59 +-
 sys/contrib/openzfs/module/icp/core/kcf_prov_lib.c |    1 +
 .../openzfs/module/icp/core/kcf_prov_tabs.c        |   25 +-
 sys/contrib/openzfs/module/icp/core/kcf_sched.c    |   23 +-
 sys/contrib/openzfs/module/icp/illumos-crypto.c    |   17 +-
 sys/contrib/openzfs/module/icp/include/sha1/sha1.h |   61 -
 .../openzfs/module/icp/include/sha1/sha1_consts.h  |   65 -
 .../openzfs/module/icp/include/sha1/sha1_impl.h    |   73 -
 .../openzfs/module/icp/include/sys/crypto/impl.h   |   26 +-
 .../openzfs/module/icp/include/sys/crypto/ioctl.h  | 1480 ----------------
 .../module/icp/include/sys/crypto/ioctladmin.h     |  136 --
 .../module/icp/include/sys/crypto/sched_impl.h     |    9 +-
 .../openzfs/module/icp/include/sys/crypto/spi.h    |   16 +-
 .../openzfs/module/icp/include/sys/modctl.h        |  477 ------
 sys/contrib/openzfs/module/icp/io/aes.c            |   58 +-
 sys/contrib/openzfs/module/icp/io/edonr_mod.c      |   63 -
 sys/contrib/openzfs/module/icp/io/sha1_mod.c       | 1230 --------------
 sys/contrib/openzfs/module/icp/io/sha2_mod.c       |   62 +-
 sys/contrib/openzfs/module/icp/io/skein_mod.c      |   70 +-
 sys/contrib/openzfs/module/icp/os/modconf.c        |  173 --
 sys/contrib/openzfs/module/icp/os/modhash.c        |    8 +-
 sys/contrib/openzfs/module/icp/spi/kcf_spi.c       |   42 +-
 sys/contrib/openzfs/module/nvpair/fnvpair.c        |    2 +-
 sys/contrib/openzfs/module/nvpair/nvpair.c         |   12 +-
 .../openzfs/module/nvpair/nvpair_alloc_fixed.c     |    6 +-
 .../openzfs/module/nvpair/nvpair_alloc_spl.c       |   18 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/abd_os.c |    2 +-
 .../openzfs/module/os/freebsd/zfs/crypto_os.c      |   10 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/spa_os.c |    2 -
 .../openzfs/module/os/freebsd/zfs/vdev_file.c      |    7 +-
 .../openzfs/module/os/freebsd/zfs/zfs_acl.c        |    4 +-
 .../openzfs/module/os/freebsd/zfs/zfs_ctldir.c     |    2 +-
 .../openzfs/module/os/freebsd/zfs/zfs_debug.c      |   10 +-
 .../openzfs/module/os/freebsd/zfs/zfs_racct.c      |    4 +
 .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c     |    8 +-
 .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c   |   14 +-
 .../openzfs/module/os/freebsd/zfs/zfs_znode.c      |   12 +-
 .../openzfs/module/os/freebsd/zfs/zio_crypt.c      |   41 +-
 .../openzfs/module/os/freebsd/zfs/zvol_os.c        |  133 +-
 .../openzfs/module/os/linux/spl/spl-generic.c      |    7 +-
 .../openzfs/module/os/linux/spl/spl-kmem-cache.c   |   12 +-
 .../openzfs/module/os/linux/spl/spl-kstat.c        |    2 +-
 sys/contrib/openzfs/module/os/linux/spl/spl-proc.c |   11 +-
 .../openzfs/module/os/linux/spl/spl-procfs-list.c  |    2 +-
 .../openzfs/module/os/linux/spl/spl-taskq.c        |    8 +-
 sys/contrib/openzfs/module/os/linux/spl/spl-xdr.c  |    8 +-
 sys/contrib/openzfs/module/os/linux/zfs/abd_os.c   |    8 +-
 sys/contrib/openzfs/module/os/linux/zfs/arc_os.c   |    3 +-
 .../openzfs/module/os/linux/zfs/vdev_disk.c        |    2 +-
 .../openzfs/module/os/linux/zfs/vdev_file.c        |    6 +-
 sys/contrib/openzfs/module/os/linux/zfs/zfs_acl.c  |    6 +-
 .../openzfs/module/os/linux/zfs/zfs_ctldir.c       |    2 +-
 .../openzfs/module/os/linux/zfs/zfs_debug.c        |    7 +-
 .../openzfs/module/os/linux/zfs/zfs_racct.c        |    2 +
 .../openzfs/module/os/linux/zfs/zfs_vfsops.c       |    5 +
 .../openzfs/module/os/linux/zfs/zfs_vnops_os.c     |    2 +-
 .../openzfs/module/os/linux/zfs/zfs_znode.c        |    2 +-
 .../openzfs/module/os/linux/zfs/zio_crypt.c        |   22 +-
 .../openzfs/module/os/linux/zfs/zpl_ctldir.c       |    2 +-
 sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c |   15 +-
 .../openzfs/module/os/linux/zfs/zpl_xattr.c        |   13 +-
 sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c  |  135 +-
 sys/contrib/openzfs/module/unicode/u8_textprep.c   |    6 +-
 sys/contrib/openzfs/module/unicode/uconv.c         |    4 -
 .../openzfs/module/zcommon/zfeature_common.c       |  539 +++---
 sys/contrib/openzfs/module/zcommon/zfs_comutil.c   |   18 +-
 sys/contrib/openzfs/module/zcommon/zfs_deleg.c     |    9 +-
 sys/contrib/openzfs/module/zcommon/zfs_fletcher.c  |    9 +-
 sys/contrib/openzfs/module/zcommon/zfs_prop.c      |  265 +--
 sys/contrib/openzfs/module/zcommon/zpool_prop.c    |  179 +-
 sys/contrib/openzfs/module/zcommon/zprop_common.c  |   31 +-
 sys/contrib/openzfs/module/zfs/Makefile.in         |    1 +
 sys/contrib/openzfs/module/zfs/abd.c               |    6 +-
 sys/contrib/openzfs/module/zfs/arc.c               |  283 ++--
 sys/contrib/openzfs/module/zfs/bpobj.c             |    4 +-
 sys/contrib/openzfs/module/zfs/bptree.c            |    2 +-
 sys/contrib/openzfs/module/zfs/dbuf.c              |   37 +-
 sys/contrib/openzfs/module/zfs/ddt_zap.c           |    4 +-
 sys/contrib/openzfs/module/zfs/dmu.c               |   19 +-
 sys/contrib/openzfs/module/zfs/dmu_diff.c          |    2 +-
 sys/contrib/openzfs/module/zfs/dmu_objset.c        |   16 +-
 sys/contrib/openzfs/module/zfs/dmu_recv.c          |   10 +-
 sys/contrib/openzfs/module/zfs/dmu_redact.c        |   11 +-
 sys/contrib/openzfs/module/zfs/dmu_send.c          |   19 +-
 sys/contrib/openzfs/module/zfs/dmu_traverse.c      |    8 +-
 sys/contrib/openzfs/module/zfs/dmu_tx.c            |    3 +-
 sys/contrib/openzfs/module/zfs/dmu_zfetch.c        |    9 +-
 sys/contrib/openzfs/module/zfs/dnode.c             |   13 +-
 sys/contrib/openzfs/module/zfs/dnode_sync.c        |    9 +-
 sys/contrib/openzfs/module/zfs/dsl_bookmark.c      |    4 +-
 sys/contrib/openzfs/module/zfs/dsl_crypt.c         |    9 +-
 sys/contrib/openzfs/module/zfs/dsl_dataset.c       |   10 +-
 sys/contrib/openzfs/module/zfs/dsl_destroy.c       |    4 +-
 sys/contrib/openzfs/module/zfs/dsl_dir.c           |    5 +-
 sys/contrib/openzfs/module/zfs/dsl_pool.c          |   17 +-
 sys/contrib/openzfs/module/zfs/dsl_prop.c          |    2 +-
 sys/contrib/openzfs/module/zfs/dsl_scan.c          |   68 +-
 sys/contrib/openzfs/module/zfs/dsl_synctask.c      |    2 +-
 sys/contrib/openzfs/module/zfs/fm.c                |    8 +-
 sys/contrib/openzfs/module/zfs/gzip.c              |    2 +-
 sys/contrib/openzfs/module/zfs/lz4.c               | 1769 +++++++++-----------
 sys/contrib/openzfs/module/zfs/lz4_zfs.c           |  935 +++++++++++
 sys/contrib/openzfs/module/zfs/lzjb.c              |    4 +-
 sys/contrib/openzfs/module/zfs/metaslab.c          |   92 +-
 sys/contrib/openzfs/module/zfs/mmp.c               |    2 +-
 sys/contrib/openzfs/module/zfs/multilist.c         |    2 +
 sys/contrib/openzfs/module/zfs/range_tree.c        |   16 +-
 sys/contrib/openzfs/module/zfs/refcount.c          |   10 +-
 sys/contrib/openzfs/module/zfs/sa.c                |   31 +-
 sys/contrib/openzfs/module/zfs/sha256.c            |    5 +-
 sys/contrib/openzfs/module/zfs/spa.c               |   63 +-
 sys/contrib/openzfs/module/zfs/spa_checkpoint.c    |   12 +-
 sys/contrib/openzfs/module/zfs/spa_config.c        |    4 +-
 sys/contrib/openzfs/module/zfs/spa_errlog.c        |    2 +
 sys/contrib/openzfs/module/zfs/spa_log_spacemap.c  |   18 +-
 sys/contrib/openzfs/module/zfs/spa_misc.c          |   27 +-
 sys/contrib/openzfs/module/zfs/spa_stats.c         |   10 +-
 sys/contrib/openzfs/module/zfs/vdev.c              |   36 +-
 sys/contrib/openzfs/module/zfs/vdev_cache.c        |    8 +-
 sys/contrib/openzfs/module/zfs/vdev_draid.c        |   51 +-
 sys/contrib/openzfs/module/zfs/vdev_indirect.c     |   16 +-
 .../openzfs/module/zfs/vdev_indirect_births.c      |    2 +
 .../openzfs/module/zfs/vdev_indirect_mapping.c     |    2 +
 sys/contrib/openzfs/module/zfs/vdev_initialize.c   |   12 +-
 sys/contrib/openzfs/module/zfs/vdev_mirror.c       |    4 +-
 sys/contrib/openzfs/module/zfs/vdev_missing.c      |    7 +-
 sys/contrib/openzfs/module/zfs/vdev_queue.c        |   50 +-
 sys/contrib/openzfs/module/zfs/vdev_raidz.c        |   24 +-
 sys/contrib/openzfs/module/zfs/vdev_raidz_math.c   |   15 +-
 sys/contrib/openzfs/module/zfs/vdev_rebuild.c      |    6 +-
 sys/contrib/openzfs/module/zfs/vdev_removal.c      |    8 +-
 sys/contrib/openzfs/module/zfs/vdev_trim.c         |    9 +-
 sys/contrib/openzfs/module/zfs/zap.c               |    2 +-
 sys/contrib/openzfs/module/zfs/zcp.c               |   18 +-
 sys/contrib/openzfs/module/zfs/zcp_get.c           |    8 +-
 sys/contrib/openzfs/module/zfs/zcp_iter.c          |   44 +-
 sys/contrib/openzfs/module/zfs/zcp_synctask.c      |   52 +-
 sys/contrib/openzfs/module/zfs/zfs_fm.c            |   35 +-
 sys/contrib/openzfs/module/zfs/zfs_ioctl.c         |    8 +-
 sys/contrib/openzfs/module/zfs/zfs_log.c           |    2 +-
 sys/contrib/openzfs/module/zfs/zfs_replay.c        |    2 +-
 sys/contrib/openzfs/module/zfs/zfs_sa.c            |    2 +-
 sys/contrib/openzfs/module/zfs/zfs_vnops.c         |   15 +-
 sys/contrib/openzfs/module/zfs/zil.c               |   38 +-
 sys/contrib/openzfs/module/zfs/zio.c               |   34 +-
 sys/contrib/openzfs/module/zfs/zio_checksum.c      |   10 +-
 sys/contrib/openzfs/module/zfs/zio_compress.c      |    4 +-
 sys/contrib/openzfs/module/zfs/zthr.c              |    6 +
 sys/contrib/openzfs/module/zfs/zvol.c              |   12 +-
 sys/contrib/openzfs/rpm/generic/zfs.spec.in        |   79 +-
 sys/contrib/openzfs/scripts/Makefile.am            |    1 +
 sys/contrib/openzfs/scripts/commitcheck.sh         |    4 +-
 sys/contrib/openzfs/scripts/kmodtool               |  129 +-
 sys/contrib/openzfs/scripts/make_gitrev.sh         |    6 +-
 sys/contrib/openzfs/scripts/paxcheck.sh            |    2 +-
 sys/contrib/openzfs/scripts/zfs-helpers.sh         |    3 +
 sys/contrib/openzfs/scripts/zfs-tests.sh           |    9 +-
 sys/contrib/openzfs/scripts/zfs.sh                 |   10 +
 sys/contrib/openzfs/scripts/zimport.sh             |   10 +-
 sys/contrib/openzfs/scripts/zloop.sh               |   12 +-
 sys/contrib/openzfs/tests/runfiles/common.run      |    7 +-
 .../tests/test-runner/bin/test-runner.py.in        |   16 +-
 .../openzfs/tests/test-runner/bin/zts-report.py.in |   26 +-
 .../openzfs/tests/zfs-tests/cmd/Makefile.am        |    1 +
 .../tests/zfs-tests/cmd/btree_test/btree_test.c    |    1 +
 .../tests/zfs-tests/cmd/getversion/.gitignore      |    1 +
 .../tests/zfs-tests/cmd/getversion/Makefile.am     |    6 +
 .../tests/zfs-tests/cmd/getversion/getversion.c    |   48 +
 .../zfs-tests/cmd/largest_file/largest_file.c      |    2 +-
 .../tests/zfs-tests/cmd/mmap_libaio/mmap_libaio.c  |    1 +
 .../tests/zfs-tests/cmd/mmap_seek/mmap_seek.c      |    4 +
 .../tests/zfs-tests/cmd/rename_dir/rename_dir.c    |    2 +-
 .../cmd/rm_lnkcnt_zero_file/rm_lnkcnt_zero_file.c  |    4 +-
 .../tests/zfs-tests/cmd/xattrtest/xattrtest.c      |    6 +-
 .../openzfs/tests/zfs-tests/include/blkdev.shlib   |    2 +-
 .../openzfs/tests/zfs-tests/include/commands.cfg   |    3 +-
 .../openzfs/tests/zfs-tests/include/libtest.shlib  |   33 +
 .../tests/zfs-tests/tests/functional/Makefile.am   |    1 +
 .../functional/alloc_class/alloc_class.kshlib      |    1 +
 .../functional/alloc_class/alloc_class_012_pos.ksh |    4 +-
 .../functional/alloc_class/alloc_class_013_pos.ksh |    2 +-
 .../tests/functional/arc/dbufstats_001_pos.ksh     |    2 +-
 .../tests/functional/arc/dbufstats_002_pos.ksh     |    2 +-
 .../synctask_core/tst.get_written.ksh              |    2 +-
 .../tests/functional/cli_root/zdb/zdb_args_neg.ksh |    2 +-
 .../cli_root/zdb/zdb_block_size_histogram.ksh      |    2 +-
 .../cli_root/zdb/zdb_object_range_neg.ksh          |    2 +-
 .../cli_root/zdb/zdb_object_range_pos.ksh          |    2 +-
 .../functional/cli_root/zdb/zdb_objset_id.ksh      |   42 +-
 .../tests/functional/cli_root/zdb/zdb_recover.ksh  |    2 +-
 .../functional/cli_root/zdb/zdb_recover_2.ksh      |    2 +-
 .../cli_root/zfs_copies/zfs_copies_002_pos.ksh     |    2 +-
 .../zfs_clone_livelist_condense_and_disable.ksh    |    8 +-
 .../zfs_clone_livelist_condense_races.ksh          |   12 +-
 .../zfs_destroy/zfs_clone_livelist_dedup.ksh       |    8 +-
 .../zfs_destroy/zfs_destroy_clone_livelist.ksh     |    2 +-
 .../cli_root/zfs_destroy/zfs_destroy_common.kshlib |    2 +-
 .../zfs_destroy_dev_removal_condense.ksh           |    8 +-
 .../cli_root/zfs_mount/zfs_mount_remount.ksh       |    2 +-
 .../cli_root/zfs_program/zfs_program_json.ksh      |   16 +-
 .../cli_root/zfs_receive/zfs_receive_004_neg.ksh   |    2 +-
 .../cli_root/zfs_receive/zfs_receive_011_pos.ksh   |    4 +-
 .../zfs_rollback/zfs_rollback_common.kshlib        |    1 +
 .../cli_root/zfs_send/zfs_send_007_pos.ksh         |    4 +-
 .../functional/cli_root/zpool/zpool_colors.ksh     |    2 +-
 .../cli_root/zpool_clear/zpool_clear_001_pos.ksh   |    3 +-
 .../functional/cli_root/zpool_events/ereports.c    |    3 +-
 .../zpool_events/zpool_events_clear_retained.ksh   |    2 +-
 .../zpool_events/zpool_events_duplicates.ksh       |    2 +-
 .../cli_root/zpool_events/zpool_events_errors.ksh  |   13 +-
 .../zpool_initialize_verify_checksums.ksh          |    4 +-
 .../zpool_labelclear/zpool_labelclear_removed.ksh  |    4 +-
 .../cli_root/zpool_online/zpool_online_001_pos.ksh |    2 +-
 .../cli_root/zpool_reopen/zpool_reopen.shlib       |    4 +-
 .../cli_root/zpool_reopen/zpool_reopen_001_pos.ksh |    1 +
 .../cli_root/zpool_reopen/zpool_reopen_002_pos.ksh |    1 +
 .../cli_root/zpool_reopen/zpool_reopen_003_pos.ksh |    1 +
 .../cli_root/zpool_reopen/zpool_reopen_004_pos.ksh |    1 +
 .../cli_root/zpool_reopen/zpool_reopen_005_pos.ksh |    1 +
 .../zpool_resilver/zpool_resilver_restart.ksh      |    4 +-
 .../cli_root/zpool_scrub/zpool_scrub_002_pos.ksh   |    2 +-
 .../zpool_scrub/zpool_scrub_multiple_copies.ksh    |    2 +-
 .../cli_root/zpool_split/zpool_split_resilver.ksh  |    2 +-
 .../cli_root/zpool_trim/zpool_trim_partial.ksh     |    6 +-
 .../zpool_trim/zpool_trim_verify_checksums.ksh     |    4 +-
 .../zpool_wait/scan/zpool_wait_replace_cancel.ksh  |    2 +-
 .../cli_root/zpool_wait/zpool_wait_freeing.ksh     |    2 +-
 .../tests/zfs-tests/tests/functional/ctime/ctime.c |    3 +-
 .../tests/functional/deadman/deadman_sync.ksh      |    2 +-
 .../tests/functional/deadman/deadman_zio.ksh       |    2 +-
 .../functional/delegate/delegate_common.kshlib     |    2 +-
 .../tests/functional/events/events_common.kshlib   |    2 +-
 .../functional/fault/auto_offline_001_pos.ksh      |    6 +-
 .../tests/functional/fault/decompress_fault.ksh    |    2 +-
 .../tests/functional/fault/zpool_status_-s.ksh     |    2 +-
 .../async_destroy/async_destroy_001_pos.ksh        |    2 +-
 .../tests/functional/history/history_006_neg.ksh   |    4 +-
 .../zfs-tests/tests/functional/hkdf/hkdf_test.c    |    2 +-
 .../zfs-tests/tests/functional/libzfs/many_fds.c   |    3 +-
 .../log_spacemap/log_spacemap_import_logs.ksh      |    4 +-
 .../tests/functional/mmp/mmp_reset_interval.ksh    |    2 +-
 .../tests/functional/no_space/enospc_002_pos.ksh   |    4 +-
 .../online_offline/online_offline_001_pos.ksh      |    3 +-
 .../online_offline/online_offline_002_neg.ksh      |    3 +-
 .../online_offline/online_offline_003_neg.ksh      |    2 +-
 .../tests/functional/procfs/procfs_list_basic.ksh  |    2 +-
 .../procfs/procfs_list_concurrent_readers.ksh      |    2 +-
 .../functional/procfs/procfs_list_stale_read.ksh   |    2 +-
 .../projectquota/projectquota_006_pos.ksh          |    2 +-
 .../projectquota/projectquota_common.kshlib        |    2 +-
 .../projectquota/projectspace_001_pos.ksh          |    2 +-
 .../projectquota/projectspace_002_pos.ksh          |    2 +-
 .../tests/functional/pyzfs/pyzfs_unittest.ksh.in   |    2 +-
 .../tests/functional/refquota/refquota_007_neg.ksh |    2 +-
 .../tests/functional/refreserv/refreserv_raidz.ksh |    2 +-
 .../tests/functional/removal/removal.kshlib        |    2 +-
 .../tests/functional/removal/remove_expanded.ksh   |    2 +-
 .../functional/replacement/rebuild_multiple.ksh    |    4 +-
 .../replacement/resilver_restart_001.ksh           |    8 +-
 .../replacement/resilver_restart_002.ksh           |    6 +-
 .../tests/functional/replacement/scrub_cancel.ksh  |    2 +-
 .../zfs-tests/tests/functional/rsend/rsend.kshlib  |    8 +
 .../tests/functional/rsend/send-c_verify_ratio.ksh |    2 +-
 .../functional/rsend/send-wR_encrypted_zvol.ksh    |    2 +-
 .../functional/rsend/send_encrypted_files.ksh      |    4 +-
 .../rsend/send_encrypted_truncated_files.ksh       |    2 +-
 .../functional/rsend/send_realloc_dnode_size.ksh   |    2 +-
 .../rsend/send_realloc_encrypted_files.ksh         |    6 +-
 .../tests/functional/rsend/send_realloc_files.ksh  |    6 +-
 .../tests/functional/slog/slog_014_pos.ksh         |    2 +-
 .../tests/functional/slog/slog_replay_volume.ksh   |    2 +-
 .../tests/functional/snapshot/rollback_001_pos.ksh |    1 +
 .../tests/functional/snapshot/rollback_003_pos.ksh |   18 +-
 .../zfs-tests/tests/functional/stat/Makefile.am    |    8 +
 .../zfs-tests/tests/functional/stat/cleanup.ksh    |   34 +
 .../zfs-tests/tests/functional/stat/setup.ksh      |   36 +
 .../tests/functional/stat/stat_001_pos.ksh         |   57 +
 .../tests/functional/tmpfile/tmpfile_001_pos.c     |    6 +-
 .../tests/functional/tmpfile/tmpfile_002_pos.c     |    2 +-
 .../tests/functional/tmpfile/tmpfile_003_pos.c     |    2 +-
 .../tests/functional/tmpfile/tmpfile_stat_mode.c   |    2 +-
 .../tests/functional/trim/autotrim_integrity.ksh   |    2 +-
 .../functional/trim/autotrim_trim_integrity.ksh    |    2 +-
 .../zfs-tests/tests/functional/trim/trim.kshlib    |    2 +-
 .../tests/functional/trim/trim_integrity.ksh       |    2 +-
 .../tests/functional/truncate/truncate_002_pos.ksh |    2 +-
 .../tests/functional/userquota/Makefile.am         |    3 +-
 .../functional/userquota/groupspace_001_pos.ksh    |    2 +-
 .../functional/userquota/groupspace_002_pos.ksh    |    2 +-
 .../functional/userquota/groupspace_003_pos.ksh    |    2 +-
 .../functional/userquota/userquota_007_pos.ksh     |    2 +-
 .../functional/userquota/userquota_common.kshlib   |    2 +-
 .../functional/userquota/userspace_001_pos.ksh     |    2 +-
 .../functional/userquota/userspace_002_pos.ksh     |    2 +-
 .../functional/userquota/userspace_003_pos.ksh     |    2 +-
 .../userquota/userspace_send_encrypted.ksh         |  119 ++
 .../functional/vdev_zaps/vdev_zaps_005_pos.ksh     |    2 +-
 .../zvol/zvol_misc/zvol_misc_002_pos.ksh           |    2 +-
 sys/modules/zfs/Makefile                           |    2 +
 sys/modules/zfs/zfs_config.h                       |    4 +-
 sys/modules/zfs/zfs_gitrev.h                       |    2 +-
 usr.sbin/fstyp/Makefile                            |    1 +
 508 files changed, 5679 insertions(+), 11209 deletions(-)

diff --cc cddl/lib/libicp/Makefile
index 253b252bc2d4,000000000000..1cdb146d0fa1
mode 100644,000000..100644
--- a/cddl/lib/libicp/Makefile
+++ b/cddl/lib/libicp/Makefile
@@@ -1,101 -1,0 +1,95 @@@
 +# $FreeBSD$
 +
 +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
 +
 +PACKAGE=	utilities
 +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/sha1/sha1-x86_64.S \
 +        asm-x86_64/sha2/sha256_impl.S \
 +        asm-x86_64/sha2/sha512_impl.S
 +
 +CFLAGS+= -D__amd64 -D_SYS_STACK_H -UHAVE_AES
 +.else
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS =
 +.endif
 +
 +
 +KERNEL_C = \
 +        spi/kcf_spi.c \
 +        api/kcf_ctxops.c \
 +        api/kcf_digest.c \
 +        api/kcf_cipher.c \
 +        api/kcf_miscapi.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/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/sha1/sha1.c \
 +        algs/sha2/sha2.c \
 +        algs/skein/skein.c \
 +        algs/skein/skein_block.c \
 +        algs/skein/skein_iv.c \
 +        illumos-crypto.c \
 +        io/aes.c \
-         io/edonr_mod.c \
-         io/sha1_mod.c \
 +        io/sha2_mod.c \
 +        io/skein_mod.c \
 +        os/modhash.c \
-         os/modconf.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)
 +
 +
 +
 +
 +
 +
 +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.sha1-x86_64.S+= -DLOCORE
 +CFLAGS.sha256_impl.S+= -DLOCORE
 +CFLAGS.sha512_impl.S+= -DLOCORE
 +
 +.include <bsd.lib.mk>
diff --cc cddl/lib/libicp_rescue/Makefile
index a46fd6db3877,000000000000..ea1af847d807
mode 100644,000000..100644
--- a/cddl/lib/libicp_rescue/Makefile
+++ b/cddl/lib/libicp_rescue/Makefile
@@@ -1,99 -1,0 +1,88 @@@
 +# $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/sha1/sha1-x86_64.S \
 +        asm-x86_64/sha2/sha256_impl.S \
 +        asm-x86_64/sha2/sha512_impl.S
 +
 +CFLAGS+= -D__amd64 -D_SYS_STACK_H
 +.else
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS =
 +.endif
 +
 +
 +KERNEL_C = \
 +        spi/kcf_spi.c \
 +        api/kcf_ctxops.c \
 +        api/kcf_digest.c \
 +        api/kcf_cipher.c \
 +        api/kcf_miscapi.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/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/sha1/sha1.c \
 +        algs/sha2/sha2.c \
 +        algs/skein/skein_block.c \
 +        illumos-crypto.c \
 +        io/aes.c \
-         io/edonr_mod.c \
-         io/sha1_mod.c \
 +        io/sha2_mod.c \
 +        io/skein_mod.c \
 +        os/modhash.c \
-         os/modconf.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)
 +
- 
- 
- 
- 
- 
 +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.sha1-x86_64.S+= -DLOCORE
 +CFLAGS.sha256_impl.S+= -DLOCORE
 +CFLAGS.sha512_impl.S+= -DLOCORE
 +CFLAGS.gcm.c+= -UCAN_USE_GCM_ASM
 +
 +.include <bsd.lib.mk>
diff --cc cddl/lib/libzfsbootenv/Makefile
index f84718a10de7,000000000000..be39af96124a
mode 100644,000000..100644
--- a/cddl/lib/libzfsbootenv/Makefile
+++ b/cddl/lib/libzfsbootenv/Makefile
@@@ -1,33 -1,0 +1,36 @@@
 +# $FreeBSD$
 +
 +.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfsbootenv
 +.PATH: ${SRCTOP}/sys/contrib/openzfs/include
 +
 +PACKAGE=	runtime
 +LIB=		zfsbootenv
 +SHLIB_MAJOR=	1
 +
 +LIBADD=		zfs
 +LIBADD+=	nvpair
 +
 +INCS=	libzfsbootenv.h
 +USER_C=	\
 +	lzbe_device.c \
 +	lzbe_util.c \
 +	lzbe_pair.c
 +
 +SRCS= $(USER_C)
 +
 +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
 +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/zfs
++CFLAGS.lzbe_device.c=	-Wno-cast-qual
++CFLAGS.lzbe_util.c=	-Wno-cast-qual
++CFLAGS.lzbe_pair.c=	-Wno-cast-qual
 +
 +.include <bsd.lib.mk>
diff --cc cddl/lib/libzpool/Makefile
index 6893e31ff20a,000000000000..1c15cc265d48
mode 100644,000000..100644
--- a/cddl/lib/libzpool/Makefile
+++ b/cddl/lib/libzpool/Makefile
@@@ -1,267 -1,0 +1,268 @@@
 +# $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
 +
 +.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
 +
 +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 \
 +	blkptr.c \
 +	bplist.c \
 +	bpobj.c \
 +	bptree.c \
 +	btree.c \
 +	bqueue.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 \
 +	hkdf.c \
 +	fm.c \
 +	gzip.c \
 +	lzjb.c \
 +	lz4.c \
++	lz4_zfs.c \
 +	metaslab.c \
 +	mmp.c \
 +	multilist.c \
 +	objlist.c \
 +	pathname.c \
 +	range_tree.c \
 +	refcount.c \
 +	rrwlock.c \
 +	sa.c \
 +	sha256.c \
 +	skein_zfs.c \
 +	spa.c \
 +	spa_boot.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 \
 +	vdev_indirect_mapping.c \
 +	vdev_initialize.c \
 +	vdev_label.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 \
 +	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_debug.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.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
*** 2528 LINES SKIPPED ***