Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Jan 2021 00:56:06 GMT
From:      Matt Macy <mmacy@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 7877fdebeeb3 - main - OpenZFS merge main-gf11b09
Message-ID:  <202101080056.1080u6Ie085632@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mmacy:

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

commit 7877fdebeeb35fad1cbbafce22598b1bdf97c786
Author:     Matt Macy <mmacy@FreeBSD.org>
AuthorDate: 2021-01-07 23:27:17 +0000
Commit:     Matt Macy <mmacy@FreeBSD.org>
CommitDate: 2021-01-08 00:55:59 +0000

    OpenZFS merge main-gf11b09
    
    - add dRAID support
    - fix duplicate close handling
    - fix memory leak in prefetch
    - fix problem with SIMD benchmarking on FreeBSD boot
    ...
---
 sys/contrib/openzfs/.github/CONTRIBUTING.md        |   68 +-
 .../openzfs/.github/ISSUE_TEMPLATE/bug_report.md   |   53 +
 .../openzfs/.github/ISSUE_TEMPLATE/config.yml      |   14 +
 .../.github/ISSUE_TEMPLATE/feature_request.md      |   33 +
 sys/contrib/openzfs/.github/codecov.yml            |   25 +
 sys/contrib/openzfs/.github/no-response.yml        |   13 +
 sys/contrib/openzfs/.github/stale.yml              |   26 +
 .../openzfs/.github/workflows/checkstyle.yaml      |   36 +
 .../openzfs/.github/workflows/zfs-tests.yml        |   58 +
 sys/contrib/openzfs/.github/workflows/zloop.yml    |   67 +
 sys/contrib/openzfs/META                           |    4 +-
 sys/contrib/openzfs/Makefile.am                    |   10 +-
 sys/contrib/openzfs/cmd/Makefile.am                |    1 +
 sys/contrib/openzfs/cmd/arc_summary/arc_summary2   |  108 +-
 sys/contrib/openzfs/cmd/arc_summary/arc_summary3   |   77 +-
 sys/contrib/openzfs/cmd/arcstat/arcstat.in         |   76 +-
 sys/contrib/openzfs/cmd/dbufstat/dbufstat.in       |    4 +-
 sys/contrib/openzfs/cmd/mount_zfs/mount_zfs.c      |   91 +-
 sys/contrib/openzfs/cmd/raidz_test/raidz_bench.c   |   25 +-
 sys/contrib/openzfs/cmd/raidz_test/raidz_test.c    |  330 +-
 sys/contrib/openzfs/cmd/raidz_test/raidz_test.h    |    9 +-
 sys/contrib/openzfs/cmd/zdb/zdb.c                  |   33 +-
 sys/contrib/openzfs/cmd/zed/agents/zfs_agents.c    |    2 +
 sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c       |   10 +-
 sys/contrib/openzfs/cmd/zed/agents/zfs_retire.c    |   11 +-
 sys/contrib/openzfs/cmd/zed/zed.d/all-syslog.sh    |   44 +-
 .../zed/zed.d/history_event-zfs-list-cacher.sh.in  |    2 +-
 sys/contrib/openzfs/cmd/zed/zed.d/zed.rc           |    7 +-
 sys/contrib/openzfs/cmd/zfs/zfs_main.c             |  166 +-
 .../openzfs/cmd/zfs_ids_to_path/zfs_ids_to_path.c  |    2 +-
 sys/contrib/openzfs/cmd/zgenhostid/zgenhostid.c    |   10 +-
 sys/contrib/openzfs/cmd/zhack/zhack.c              |    1 +
 sys/contrib/openzfs/cmd/zpool/zpool_iter.c         |   16 +-
 sys/contrib/openzfs/cmd/zpool/zpool_main.c         |  148 +-
 sys/contrib/openzfs/cmd/zpool/zpool_util.h         |    4 +-
 sys/contrib/openzfs/cmd/zpool/zpool_vdev.c         |  393 +-
 sys/contrib/openzfs/cmd/zpool_influxdb/.gitignore  |    1 +
 sys/contrib/openzfs/cmd/zpool_influxdb/Makefile.am |   11 +
 sys/contrib/openzfs/cmd/zpool_influxdb/README.md   |  294 ++
 .../cmd/zpool_influxdb/dashboards/README.md        |    3 +
 .../ZFS-pool-latency-heatmaps-influxdb.json        | 1667 +++++++
 .../cmd/zpool_influxdb/telegraf.d/README.md        |    7 +
 .../telegraf.d/exec_zpool_influxdb.conf            |   15 +
 .../telegraf.d/execd_zpool_influxdb.conf           |   23 +
 .../openzfs/cmd/zpool_influxdb/zpool_influxdb.c    |  843 ++++
 sys/contrib/openzfs/cmd/zstream/zstream_redup.c    |    2 +-
 sys/contrib/openzfs/cmd/ztest/ztest.c              |  293 +-
 sys/contrib/openzfs/config/Abigail.am              |   29 +
 sys/contrib/openzfs/config/always-python.m4        |    2 +-
 sys/contrib/openzfs/config/always-pyzfs.m4         |    2 +-
 sys/contrib/openzfs/config/always-sed.m4           |    2 +-
 sys/contrib/openzfs/config/deb.am                  |   14 +-
 sys/contrib/openzfs/config/kernel-acl.m4           |    4 +-
 sys/contrib/openzfs/config/kernel-bio.m4           |    4 +-
 sys/contrib/openzfs/config/kernel-blk-queue.m4     |    4 +-
 sys/contrib/openzfs/config/kernel-blkdev.m4        |  137 +-
 .../openzfs/config/kernel-config-defined.m4        |    2 +-
 sys/contrib/openzfs/config/kernel-fpu.m4           |    4 +-
 .../openzfs/config/kernel-generic_io_acct.m4       |   47 +-
 .../openzfs/config/kernel-get-disk-and-module.m4   |   24 -
 sys/contrib/openzfs/config/kernel-hotplug.m4       |   26 +
 .../openzfs/config/kernel-make-request-fn.m4       |   73 +-
 sys/contrib/openzfs/config/kernel-objtool.m4       |   25 +
 sys/contrib/openzfs/config/kernel-percpu.m4        |   26 +
 .../openzfs/config/kernel-revalidate-disk-size.m4  |   46 +
 sys/contrib/openzfs/config/kernel-rwsem.m4         |   28 -
 sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4  |  206 +
 sys/contrib/openzfs/config/kernel.m4               |   50 +-
 sys/contrib/openzfs/config/mount-helper.m4         |    2 +-
 sys/contrib/openzfs/config/user-dracut.m4          |    2 +-
 sys/contrib/openzfs/config/user-libexec.m4         |    2 +-
 sys/contrib/openzfs/config/user-makedev.m4         |   14 +-
 sys/contrib/openzfs/config/user-systemd.m4         |   10 +-
 sys/contrib/openzfs/config/user-sysvinit.m4        |    2 +-
 sys/contrib/openzfs/config/user-udev.m4            |    4 +-
 sys/contrib/openzfs/config/zfs-build.m4            |    2 +-
 sys/contrib/openzfs/configure.ac                   |    9 +-
 .../openzfs/contrib/dracut/90zfs/export-zfs.sh.in  |    2 +-
 .../contrib/dracut/90zfs/module-setup.sh.in        |    8 +-
 .../openzfs/contrib/dracut/90zfs/mount-zfs.sh.in   |    4 +-
 .../openzfs/contrib/dracut/90zfs/parse-zfs.sh.in   |    2 +-
 .../contrib/dracut/90zfs/zfs-generator.sh.in       |   23 +-
 .../openzfs/contrib/dracut/90zfs/zfs-lib.sh.in     |    4 +-
 .../contrib/dracut/90zfs/zfs-load-key.sh.in        |   14 +-
 .../contrib/dracut/90zfs/zfs-needshutdown.sh.in    |    4 +-
 .../openzfs/contrib/initramfs/hooks/zfsunlock.in   |    2 +-
 .../openzfs/contrib/pam_zfs_key/pam_zfs_key.c      |   54 +
 .../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/include/libzfs.h               |    7 +-
 .../openzfs/include/os/freebsd/spl/sys/misc.h      |    8 +-
 .../openzfs/include/os/freebsd/spl/sys/mod_os.h    |   12 +
 .../openzfs/include/os/freebsd/spl/sys/policy.h    |    3 +-
 .../openzfs/include/os/freebsd/spl/sys/sysmacros.h |    1 +
 .../openzfs/include/os/freebsd/spl/sys/types.h     |    2 +-
 .../openzfs/include/os/freebsd/spl/sys/uio.h       |   23 +-
 .../openzfs/include/os/freebsd/zfs/sys/Makefile.am |    2 +-
 .../include/os/freebsd/zfs/sys/zfs_context_os.h    |    1 -
 .../openzfs/include/os/freebsd/zfs/sys/zfs_vnops.h |    5 +-
 .../include/os/freebsd/zfs/sys/zfs_znode_impl.h    |    7 +-
 .../include/os/linux/kernel/linux/blkdev_compat.h  |  117 +-
 .../include/os/linux/kernel/linux/mod_compat.h     |   14 +
 .../openzfs/include/os/linux/spl/sys/sysmacros.h   |    1 +
 .../openzfs/include/os/linux/spl/sys/taskq.h       |    5 +
 sys/contrib/openzfs/include/os/linux/spl/sys/uio.h |  115 +-
 .../openzfs/include/os/linux/spl/sys/vnode.h       |    6 +
 .../openzfs/include/os/linux/zfs/sys/Makefile.am   |    2 +-
 .../openzfs/include/os/linux/zfs/sys/policy.h      |    4 +-
 .../openzfs/include/os/linux/zfs/sys/trace_acl.h   |    6 +-
 .../openzfs/include/os/linux/zfs/sys/zfs_vnops.h   |   13 +-
 .../include/os/linux/zfs/sys/zfs_znode_impl.h      |   13 +-
 sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h |    9 -
 sys/contrib/openzfs/include/sys/Makefile.am        |    2 +
 sys/contrib/openzfs/include/sys/arc.h              |    6 +
 sys/contrib/openzfs/include/sys/arc_impl.h         |   20 +
 sys/contrib/openzfs/include/sys/dbuf.h             |   35 +-
 sys/contrib/openzfs/include/sys/dmu.h              |   12 -
 sys/contrib/openzfs/include/sys/dmu_impl.h         |    7 -
 sys/contrib/openzfs/include/sys/dmu_objset.h       |    4 +-
 sys/contrib/openzfs/include/sys/dmu_zfetch.h       |   16 +-
 sys/contrib/openzfs/include/sys/dsl_dataset.h      |    1 +
 sys/contrib/openzfs/include/sys/dsl_scan.h         |    1 +
 sys/contrib/openzfs/include/sys/frame.h            |    4 +
 sys/contrib/openzfs/include/sys/fs/zfs.h           |   17 +-
 sys/contrib/openzfs/include/sys/metaslab.h         |    1 +
 sys/contrib/openzfs/include/sys/metaslab_impl.h    |   52 +-
 sys/contrib/openzfs/include/sys/spa_impl.h         |    5 +-
 sys/contrib/openzfs/include/sys/txg.h              |    1 +
 sys/contrib/openzfs/include/sys/vdev.h             |   16 +-
 sys/contrib/openzfs/include/sys/vdev_draid.h       |  110 +
 sys/contrib/openzfs/include/sys/vdev_impl.h        |   55 +-
 sys/contrib/openzfs/include/sys/vdev_raidz.h       |   17 +-
 sys/contrib/openzfs/include/sys/vdev_raidz_impl.h  |   61 +-
 sys/contrib/openzfs/include/sys/vdev_rebuild.h     |    4 +
 sys/contrib/openzfs/include/sys/zfs_context.h      |    1 +
 sys/contrib/openzfs/include/sys/zfs_vnops.h        |   55 +
 sys/contrib/openzfs/include/sys/zfs_znode.h        |    1 -
 sys/contrib/openzfs/include/sys/zio.h              |    1 +
 sys/contrib/openzfs/include/sys/zvol_impl.h        |    2 +
 sys/contrib/openzfs/include/zfeature_common.h      |    1 +
 sys/contrib/openzfs/lib/Makefile.am                |   19 +-
 sys/contrib/openzfs/lib/libnvpair/Makefile.am      |   10 +-
 sys/contrib/openzfs/lib/libnvpair/libnvpair.abi    | 2805 +++++++++++
 sys/contrib/openzfs/lib/libnvpair/libnvpair.suppr  |    2 +
 sys/contrib/openzfs/lib/libspl/include/sys/uio.h   |   41 -
 sys/contrib/openzfs/lib/libuutil/Makefile.am       |   10 +-
 sys/contrib/openzfs/lib/libuutil/libuutil.abi      | 1608 +++++++
 sys/contrib/openzfs/lib/libuutil/libuutil.suppr    |    2 +
 sys/contrib/openzfs/lib/libzfs/Makefile.am         |   14 +-
 sys/contrib/openzfs/lib/libzfs/libzfs.abi          | 4879 ++++++++++++++++++++
 sys/contrib/openzfs/lib/libzfs/libzfs.suppr        |   13 +
 sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c    |   93 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_import.c     |    1 -
 sys/contrib/openzfs/lib/libzfs/libzfs_pool.c       |  117 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_util.c       |   10 +-
 sys/contrib/openzfs/lib/libzfs_core/Makefile.am    |   11 +-
 .../openzfs/lib/libzfs_core/libzfs_core.abi        | 2820 +++++++++++
 .../openzfs/lib/libzfs_core/libzfs_core.suppr      |    5 +
 sys/contrib/openzfs/lib/libzfsbootenv/Makefile.am  |    6 +
 .../openzfs/lib/libzfsbootenv/libzfsbootenv.abi    |  212 +
 .../openzfs/lib/libzfsbootenv/libzfsbootenv.pc.in  |    2 +-
 .../openzfs/lib/libzfsbootenv/libzfsbootenv.suppr  |    2 +
 sys/contrib/openzfs/lib/libzpool/Makefile.am       |   10 +-
 sys/contrib/openzfs/lib/libzutil/zutil_import.c    |    7 +-
 sys/contrib/openzfs/man/man1/arcstat.1             |  112 +-
 sys/contrib/openzfs/man/man1/raidz_test.1          |    9 +
 sys/contrib/openzfs/man/man1/ztest.1               |   23 +-
 .../openzfs/man/man5/zfs-module-parameters.5       |  136 +-
 sys/contrib/openzfs/man/man5/zpool-features.5      |   34 +-
 sys/contrib/openzfs/man/man8/Makefile.am           |    3 +-
 sys/contrib/openzfs/man/man8/zfs-allow.8           |   36 +-
 sys/contrib/openzfs/man/man8/zfs-bookmark.8        |    4 +-
 sys/contrib/openzfs/man/man8/zfs-clone.8           |    6 +-
 sys/contrib/openzfs/man/man8/zfs-create.8          |   20 +-
 sys/contrib/openzfs/man/man8/zfs-destroy.8         |   14 +-
 sys/contrib/openzfs/man/man8/zfs-diff.8            |    8 +-
 sys/contrib/openzfs/man/man8/zfs-hold.8            |   14 +-
 sys/contrib/openzfs/man/man8/zfs-jail.8            |   10 +-
 sys/contrib/openzfs/man/man8/zfs-list.8            |    6 +-
 sys/contrib/openzfs/man/man8/zfs-load-key.8        |   18 +-
 sys/contrib/openzfs/man/man8/zfs-mount.8           |   14 +-
 sys/contrib/openzfs/man/man8/zfs-program.8         |    5 +-
 sys/contrib/openzfs/man/man8/zfs-project.8         |   18 +-
 sys/contrib/openzfs/man/man8/zfs-promote.8         |    6 +-
 sys/contrib/openzfs/man/man8/zfs-receive.8         |   18 +-
 sys/contrib/openzfs/man/man8/zfs-rename.8          |   18 +-
 sys/contrib/openzfs/man/man8/zfs-rollback.8        |    6 +-
 sys/contrib/openzfs/man/man8/zfs-send.8            |   26 +-
 sys/contrib/openzfs/man/man8/zfs-set.8             |   14 +-
 sys/contrib/openzfs/man/man8/zfs-share.8           |   10 +-
 sys/contrib/openzfs/man/man8/zfs-snapshot.8        |    6 +-
 sys/contrib/openzfs/man/man8/zfs-upgrade.8         |   14 +-
 sys/contrib/openzfs/man/man8/zfs-userspace.8       |   14 +-
 sys/contrib/openzfs/man/man8/zfs-wait.8            |    6 +-
 sys/contrib/openzfs/man/man8/zgenhostid.8          |    3 +-
 sys/contrib/openzfs/man/man8/zpool-add.8           |    6 +-
 sys/contrib/openzfs/man/man8/zpool-attach.8        |    6 +-
 sys/contrib/openzfs/man/man8/zpool-checkpoint.8    |    6 +-
 sys/contrib/openzfs/man/man8/zpool-clear.8         |    6 +-
 sys/contrib/openzfs/man/man8/zpool-create.8        |    8 +-
 sys/contrib/openzfs/man/man8/zpool-destroy.8       |    6 +-
 sys/contrib/openzfs/man/man8/zpool-detach.8        |    6 +-
 sys/contrib/openzfs/man/man8/zpool-events.8        |    6 +-
 sys/contrib/openzfs/man/man8/zpool-export.8        |    8 +-
 sys/contrib/openzfs/man/man8/zpool-get.8           |   10 +-
 sys/contrib/openzfs/man/man8/zpool-history.8       |    6 +-
 sys/contrib/openzfs/man/man8/zpool-import.8        |   14 +-
 sys/contrib/openzfs/man/man8/zpool-initialize.8    |    6 +-
 sys/contrib/openzfs/man/man8/zpool-iostat.8        |    6 +-
 sys/contrib/openzfs/man/man8/zpool-labelclear.8    |    6 +-
 sys/contrib/openzfs/man/man8/zpool-list.8          |    8 +-
 sys/contrib/openzfs/man/man8/zpool-offline.8       |   10 +-
 sys/contrib/openzfs/man/man8/zpool-reguid.8        |    6 +-
 sys/contrib/openzfs/man/man8/zpool-remove.8        |   10 +-
 sys/contrib/openzfs/man/man8/zpool-reopen.8        |    6 +-
 sys/contrib/openzfs/man/man8/zpool-replace.8       |    6 +-
 sys/contrib/openzfs/man/man8/zpool-resilver.8      |    6 +-
 sys/contrib/openzfs/man/man8/zpool-scrub.8         |    8 +-
 sys/contrib/openzfs/man/man8/zpool-split.8         |    6 +-
 sys/contrib/openzfs/man/man8/zpool-status.8        |    6 +-
 sys/contrib/openzfs/man/man8/zpool-sync.8          |    6 +-
 sys/contrib/openzfs/man/man8/zpool-trim.8          |    6 +-
 sys/contrib/openzfs/man/man8/zpool-upgrade.8       |   14 +-
 sys/contrib/openzfs/man/man8/zpool-wait.8          |    6 +-
 sys/contrib/openzfs/man/man8/zpool_influxdb.8      |   93 +
 sys/contrib/openzfs/man/man8/zpoolconcepts.8       |   78 +-
 sys/contrib/openzfs/man/man8/zpoolprops.8          |   15 +-
 sys/contrib/openzfs/module/Makefile.bsd            |   39 +-
 sys/contrib/openzfs/module/icp/algs/modes/gcm.c    |   54 +-
 sys/contrib/openzfs/module/icp/algs/modes/modes.c  |    8 +
 .../module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S |   24 +-
 sys/contrib/openzfs/module/icp/core/kcf_sched.c    |    4 +-
 .../openzfs/module/icp/include/modes/modes.h       |    8 +-
 sys/contrib/openzfs/module/icp/io/aes.c            |   18 +
 sys/contrib/openzfs/module/lua/lapi.c              |    2 +-
 .../openzfs/module/os/freebsd/spl/spl_policy.c     |    5 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/abd_os.c |   43 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c |   10 +
 .../openzfs/module/os/freebsd/zfs/sysctl_os.c      |   12 +-
 .../openzfs/module/os/freebsd/zfs/vdev_file.c      |   70 +-
 .../openzfs/module/os/freebsd/zfs/vdev_geom.c      |   36 +-
 .../openzfs/module/os/freebsd/zfs/zfs_file_os.c    |    6 +-
 .../openzfs/module/os/freebsd/zfs/zfs_onexit_os.c  |   70 -
 .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c     |    3 +-
 .../openzfs/module/os/freebsd/zfs/zfs_vnops.c      |  877 +---
 .../openzfs/module/os/freebsd/zfs/zfs_znode.c      |   18 +-
 .../openzfs/module/os/freebsd/zfs/zio_crypt.c      |   15 +-
 .../openzfs/module/os/freebsd/zfs/zvol_os.c        |  248 +-
 .../openzfs/module/os/linux/spl/spl-taskq.c        |  132 +-
 .../openzfs/module/os/linux/zfs/Makefile.in        |    3 +-
 sys/contrib/openzfs/module/os/linux/zfs/abd_os.c   |    2 +-
 sys/contrib/openzfs/module/os/linux/zfs/arc_os.c   |   88 +-
 sys/contrib/openzfs/module/os/linux/zfs/policy.c   |    5 +-
 .../openzfs/module/os/linux/zfs/vdev_disk.c        |   31 +-
 .../openzfs/module/os/linux/zfs/vdev_file.c        |   18 +
 .../openzfs/module/os/linux/zfs/zfs_ctldir.c       |    1 -
 .../openzfs/module/os/linux/zfs/zfs_vfsops.c       |    4 +-
 .../openzfs/module/os/linux/zfs/zfs_vnops.c        | 1091 +----
 .../openzfs/module/os/linux/zfs/zfs_znode.c        |    5 +-
 .../openzfs/module/os/linux/zfs/zio_crypt.c        |   15 +-
 .../openzfs/module/os/linux/zfs/zpl_ctldir.c       |   25 +-
 sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c |  354 +-
 .../openzfs/module/os/linux/zfs/zpl_inode.c        |   10 +-
 .../openzfs/module/os/linux/zfs/zpl_super.c        |   23 +-
 .../openzfs/module/os/linux/zfs/zpl_xattr.c        |   24 +-
 sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c  |  177 +-
 sys/contrib/openzfs/module/zcommon/Makefile.in     |    1 -
 .../openzfs/module/zcommon/zfeature_common.c       |    6 +-
 sys/contrib/openzfs/module/zcommon/zfs_fletcher.c  |   69 +-
 sys/contrib/openzfs/module/zcommon/zfs_namecheck.c |    4 +-
 sys/contrib/openzfs/module/zcommon/zfs_prop.c      |    6 +-
 sys/contrib/openzfs/module/zcommon/zfs_uio.c       |  173 +-
 sys/contrib/openzfs/module/zfs/Makefile.in         |    3 +
 sys/contrib/openzfs/module/zfs/abd.c               |   14 +-
 sys/contrib/openzfs/module/zfs/aggsum.c            |    9 +-
 sys/contrib/openzfs/module/zfs/arc.c               |  306 +-
 sys/contrib/openzfs/module/zfs/dbuf.c              |  371 +-
 sys/contrib/openzfs/module/zfs/dmu.c               |  226 +-
 sys/contrib/openzfs/module/zfs/dmu_object.c        |    4 +-
 sys/contrib/openzfs/module/zfs/dmu_objset.c        |  206 +-
 sys/contrib/openzfs/module/zfs/dmu_recv.c          |  294 +-
 sys/contrib/openzfs/module/zfs/dmu_redact.c        |    2 +-
 sys/contrib/openzfs/module/zfs/dmu_send.c          |    6 +-
 sys/contrib/openzfs/module/zfs/dmu_tx.c            |    3 -
 sys/contrib/openzfs/module/zfs/dmu_zfetch.c        |  122 +-
 sys/contrib/openzfs/module/zfs/dnode.c             |   13 +-
 sys/contrib/openzfs/module/zfs/dnode_sync.c        |    6 +-
 sys/contrib/openzfs/module/zfs/dsl_bookmark.c      |  114 +-
 sys/contrib/openzfs/module/zfs/dsl_crypt.c         |   11 +-
 sys/contrib/openzfs/module/zfs/dsl_dataset.c       |    6 +-
 sys/contrib/openzfs/module/zfs/dsl_pool.c          |   49 +-
 sys/contrib/openzfs/module/zfs/dsl_scan.c          |   13 +-
 sys/contrib/openzfs/module/zfs/metaslab.c          |  238 +-
 sys/contrib/openzfs/module/zfs/mmp.c               |   11 +-
 sys/contrib/openzfs/module/zfs/multilist.c         |    9 +-
 sys/contrib/openzfs/module/zfs/spa.c               |  158 +-
 sys/contrib/openzfs/module/zfs/spa_history.c       |    2 +-
 sys/contrib/openzfs/module/zfs/spa_misc.c          |   20 +-
 sys/contrib/openzfs/module/zfs/txg.c               |    9 +-
 sys/contrib/openzfs/module/zfs/vdev.c              |  387 +-
 sys/contrib/openzfs/module/zfs/vdev_draid.c        | 2984 ++++++++++++
 sys/contrib/openzfs/module/zfs/vdev_draid_rand.c   |   40 +
 sys/contrib/openzfs/module/zfs/vdev_indirect.c     |   39 +-
 sys/contrib/openzfs/module/zfs/vdev_initialize.c   |  141 +-
 sys/contrib/openzfs/module/zfs/vdev_label.c        |   62 +-
 sys/contrib/openzfs/module/zfs/vdev_mirror.c       |  137 +-
 sys/contrib/openzfs/module/zfs/vdev_missing.c      |   18 +
 sys/contrib/openzfs/module/zfs/vdev_queue.c        |  134 +-
 sys/contrib/openzfs/module/zfs/vdev_raidz.c        | 1864 +++++---
 sys/contrib/openzfs/module/zfs/vdev_raidz_math.c   |   14 +-
 .../openzfs/module/zfs/vdev_raidz_math_impl.h      |  313 +-
 sys/contrib/openzfs/module/zfs/vdev_rebuild.c      |  231 +-
 sys/contrib/openzfs/module/zfs/vdev_removal.c      |  100 +-
 sys/contrib/openzfs/module/zfs/vdev_root.c         |    9 +
 sys/contrib/openzfs/module/zfs/vdev_trim.c         |  153 +-
 sys/contrib/openzfs/module/zfs/zcp.c               |    7 +-
 sys/contrib/openzfs/module/zfs/zfs_fm.c            |    4 +-
 sys/contrib/openzfs/module/zfs/zfs_ioctl.c         |   77 +-
 sys/contrib/openzfs/module/zfs/zfs_vnops.c         |  895 ++++
 sys/contrib/openzfs/module/zfs/zio.c               |   72 +-
 sys/contrib/openzfs/module/zfs/zio_inject.c        |    6 +
 sys/contrib/openzfs/module/zfs/zvol.c              |   22 +-
 sys/contrib/openzfs/module/zstd/zfs_zstd.c         |   52 +-
 sys/contrib/openzfs/rpm/generic/zfs-kmod.spec.in   |    4 -
 sys/contrib/openzfs/rpm/generic/zfs.spec.in        |   77 +-
 sys/contrib/openzfs/scripts/Makefile.am            |    3 +
 sys/contrib/openzfs/scripts/commitcheck.sh         |  113 +-
 sys/contrib/openzfs/scripts/common.sh.in           |    1 +
 sys/contrib/openzfs/scripts/dkms.mkconf            |    1 +
 sys/contrib/openzfs/scripts/zfs-tests.sh           |   12 +-
 sys/contrib/openzfs/scripts/zfs.sh                 |    3 +
 sys/contrib/openzfs/scripts/zloop.sh               |   54 +-
 sys/contrib/openzfs/tests/runfiles/Makefile.am     |    1 +
 sys/contrib/openzfs/tests/runfiles/common.run      |   54 +-
 sys/contrib/openzfs/tests/runfiles/linux.run       |    3 +-
 sys/contrib/openzfs/tests/runfiles/sanity.run      |  618 +++
 .../openzfs/tests/test-runner/bin/zts-report.py.in |    3 +-
 .../openzfs/tests/zfs-tests/cmd/Makefile.am        |    1 +
 .../tests/zfs-tests/cmd/btree_test/btree_test.c    |    2 +-
 .../openzfs/tests/zfs-tests/cmd/draid/.gitignore   |    1 +
 .../openzfs/tests/zfs-tests/cmd/draid/Makefile.am  |   15 +
 .../openzfs/tests/zfs-tests/cmd/draid/draid.c      | 1414 ++++++
 .../cmd/libzfs_input_check/libzfs_input_check.c    |    2 +-
 .../openzfs/tests/zfs-tests/include/blkdev.shlib   |   89 +-
 .../openzfs/tests/zfs-tests/include/commands.cfg   |    5 +-
 .../openzfs/tests/zfs-tests/include/libtest.shlib  |   41 +-
 .../openzfs/tests/zfs-tests/include/tunables.cfg   |    3 +
 .../tests/zfs-tests/tests/functional/Makefile.am   |    3 +-
 .../functional/alloc_class/alloc_class_012_pos.ksh |    5 +-
 .../tests/functional/checksum/Makefile.am          |    3 +-
 .../tests/functional/checksum/filetest_001_pos.ksh |    5 +-
 .../tests/functional/checksum/filetest_002_pos.ksh |   91 +
 .../cli_root/zdb/zdb_block_size_histogram.ksh      |    8 +-
 .../cli_root/zfs_copies/zfs_copies_002_pos.ksh     |    2 +-
 .../functional/cli_root/zfs_create/Makefile.am     |    1 +
 .../cli_root/zfs_create/zfs_create_001_pos.ksh     |    6 +
 .../cli_root/zfs_create/zfs_create_nomount.ksh     |   51 +
 .../functional/cli_root/zfs_mount/Makefile.am      |    2 +
 .../functional/cli_root/zfs_mount/zfs_mount.kshlib |    3 +-
 .../cli_root/zfs_mount/zfs_mount_013_pos.ksh       |   78 +
 .../cli_root/zfs_mount/zfs_mount_014_neg.ksh       |   68 +
 .../zfs_mount/zfs_mount_all_mountpoints.ksh        |    2 +
 .../zfs_share/zfs_share_concurrent_shares.ksh      |   12 +-
 .../cli_root/zfs_snapshot/zfs_snapshot_009_pos.ksh |   17 +
 .../functional/cli_root/zpool_add/Makefile.am      |    3 +-
 .../cli_root/zpool_add/zpool_add_001_pos.ksh       |   20 +-
 .../cli_root/zpool_add/zpool_add_003_pos.ksh       |    4 +-
 .../cli_root/zpool_add/zpool_add_dryrun_output.ksh |  175 +
 .../functional/cli_root/zpool_create/Makefile.am   |    8 +-
 .../cli_root/zpool_create/zpool_create_001_pos.ksh |    4 +-
 .../cli_root/zpool_create/zpool_create_005_pos.ksh |    8 +-
 .../cli_root/zpool_create/zpool_create_006_pos.ksh |   22 +
 .../cli_root/zpool_create/zpool_create_007_neg.ksh |    9 +-
 .../cli_root/zpool_create/zpool_create_009_neg.ksh |    2 +-
 .../cli_root/zpool_create/zpool_create_010_neg.ksh |    7 +-
 .../cli_root/zpool_create/zpool_create_011_neg.ksh |   14 +-
 .../zpool_create/zpool_create_draid_001_pos.ksh    |   75 +
 .../zpool_create/zpool_create_draid_002_pos.ksh    |   82 +
 .../zpool_create/zpool_create_draid_003_pos.ksh    |  112 +
 .../zpool_create/zpool_create_draid_004_pos.ksh    |   43 +
 .../zpool_create/zpool_create_dryrun_output.ksh    |  138 +
 .../cli_root/zpool_expand/zpool_expand_001_pos.ksh |   12 +-
 .../cli_root/zpool_expand/zpool_expand_002_pos.ksh |   27 +-
 .../cli_root/zpool_expand/zpool_expand_003_neg.ksh |    2 +-
 .../cli_root/zpool_expand/zpool_expand_004_pos.ksh |    2 +-
 .../functional/cli_root/zpool_get/zpool_get.cfg    |    1 +
 .../functional/cli_root/zpool_import/Makefile.am   |    2 +
 .../zpool_import/import_cachefile_device_added.ksh |    2 +
 .../import_cachefile_device_replaced.ksh           |    6 +
 .../import_cachefile_shared_device.ksh             |    1 +
 .../cli_root/zpool_import/import_paths_changed.ksh |    2 +
 .../zpool_import/import_rewind_config_changed.ksh  |    1 +
 .../zpool_import/import_rewind_device_replaced.ksh |    5 +
 .../functional/cli_root/zpool_import/setup.ksh     |    2 +-
 .../cli_root/zpool_import/zpool_import.cfg         |    3 +-
 .../cli_root/zpool_import/zpool_import.kshlib      |   16 +-
 .../cli_root/zpool_import/zpool_import_007_pos.ksh |    2 +-
 .../cli_root/zpool_import/zpool_import_008_pos.ksh |    2 +-
 .../cli_root/zpool_import/zpool_import_010_pos.ksh |    4 +-
 .../cli_root/zpool_import/zpool_import_016_pos.ksh |   91 +
 .../cli_root/zpool_import/zpool_import_017_pos.ksh |   92 +
 .../zpool_import/zpool_import_missing_001_pos.ksh  |   21 +-
 .../zpool_import/zpool_import_missing_002_pos.ksh  |   23 +-
 .../zpool_import/zpool_import_missing_003_pos.ksh  |    5 +-
 .../zpool_initialize_verify_initialized.ksh        |   49 +-
 .../functional/cli_root/zpool_split/Makefile.am    |    3 +-
 .../zpool_split/zpool_split_dryrun_output.ksh      |  152 +
 .../cli_root/zpool_trim/zpool_trim.kshlib          |   17 +
 .../zpool_trim/zpool_trim_online_offline.ksh       |    8 +-
 .../zpool_trim/zpool_trim_start_and_cancel_neg.ksh |    6 +-
 .../zpool_wait/scan/zpool_wait_replace_cancel.ksh  |    1 +
 .../tests/functional/events/events_001_pos.ksh     |   26 +-
 .../tests/functional/events/events_002_pos.ksh     |    2 +-
 .../tests/functional/events/events_common.kshlib   |   69 +-
 .../functional/fault/auto_offline_001_pos.ksh      |   10 +-
 .../tests/functional/fault/auto_spare_001_pos.ksh  |   47 +-
 .../tests/functional/fault/auto_spare_002_pos.ksh  |    7 +-
 .../tests/functional/fault/auto_spare_ashift.ksh   |    4 +-
 .../tests/functional/fault/auto_spare_multiple.ksh |  102 +-
 .../tests/functional/fault/auto_spare_shared.ksh   |    4 +-
 .../tests/functional/l2arc/l2arc_arcstats_pos.ksh  |  107 +
 .../tests/functional/l2arc/l2arc_l2miss_pos.ksh    |   94 +
 .../tests/functional/l2arc/l2arc_mfuonly_pos.ksh   |   94 +
 .../tests/functional/persist_l2arc/Makefile.am     |    7 +-
 .../tests/functional/persist_l2arc/cleanup.ksh     |    6 +-
 .../functional/persist_l2arc/persist_l2arc.cfg     |    5 +-
 .../persist_l2arc/persist_l2arc_001_pos.ksh        |   21 +-
 .../persist_l2arc/persist_l2arc_002_pos.ksh        |   19 +-
 .../persist_l2arc/persist_l2arc_003_neg.ksh        |    6 +-
 .../persist_l2arc/persist_l2arc_004_pos.ksh        |   19 +-
 .../persist_l2arc/persist_l2arc_005_pos.ksh        |   19 +-
 .../persist_l2arc/persist_l2arc_006_pos.ksh        |   21 +-
 .../persist_l2arc/persist_l2arc_007_pos.ksh        |   26 +-
 .../persist_l2arc/persist_l2arc_008_pos.ksh        |   48 +-
 .../tests/functional/persist_l2arc/setup.ksh       |    3 +-
 .../zfs-tests/tests/functional/raidz/Makefile.am   |    4 +-
 .../tests/functional/raidz/raidz_003_pos.ksh       |   41 +
 .../tests/functional/raidz/raidz_004_pos.ksh       |   41 +
 .../tests/functional/redundancy/Makefile.am        |   15 +-
 .../tests/functional/redundancy/redundancy.kshlib  |   49 +-
 .../functional/redundancy/redundancy_001_pos.ksh   |    4 +-
 .../functional/redundancy/redundancy_002_pos.ksh   |    4 +-
 .../functional/redundancy/redundancy_draid1.ksh    |   78 +
 .../functional/redundancy/redundancy_draid2.ksh    |   85 +
 .../functional/redundancy/redundancy_draid3.ksh    |   85 +
 .../redundancy/redundancy_draid_spare1.ksh         |  107 +
 .../redundancy/redundancy_draid_spare2.ksh         |   80 +
 .../redundancy/redundancy_draid_spare3.ksh         |  197 +
 .../functional/redundancy/redundancy_raidz3.ksh    |   84 +
 .../zfs-tests/tests/functional/removal/Makefile.am |    3 +-
 .../functional/removal/remove_attach_mirror.ksh    |   73 +
 .../functional/replacement/attach_rebuild.ksh      |    4 +-
 .../functional/replacement/attach_resilver.ksh     |    4 +-
 .../tests/functional/replacement/detach.ksh        |    4 +-
 .../tests/functional/replacement/rebuild_raidz.ksh |    7 +-
 .../functional/replacement/replace_rebuild.ksh     |    4 +-
 .../functional/replacement/replace_resilver.ksh    |    4 +-
 .../tests/functional/trim/autotrim_config.ksh      |   10 +-
 .../tests/functional/trim/autotrim_integrity.ksh   |    2 +-
 .../functional/trim/autotrim_trim_integrity.ksh    |    2 +-
 .../tests/functional/trim/trim_config.ksh          |   10 +-
 .../tests/functional/trim/trim_integrity.ksh       |    2 +-
 .../tests/functional/userquota/Makefile.am         |    3 +-
 .../functional/userquota/userspace_encrypted.ksh   |   85 +
 .../userquota/userspace_send_encrypted.ksh         |  108 +
 .../tests/functional/xattr/xattr_004_pos.ksh       |   34 +-
 .../tests/functional/zpool_influxdb/Makefile.am    |    5 +
 .../tests/functional/zpool_influxdb/cleanup.ksh    |   29 +
 .../tests/functional/zpool_influxdb/setup.ksh      |   29 +
 .../functional/zpool_influxdb/zpool_influxdb.ksh   |   71 +
 471 files changed, 34096 insertions(+), 6691 deletions(-)

diff --git a/sys/contrib/openzfs/.github/CONTRIBUTING.md b/sys/contrib/openzfs/.github/CONTRIBUTING.md
index 9bc2e7ef0684..f28a747e82c4 100644
--- a/sys/contrib/openzfs/.github/CONTRIBUTING.md
+++ b/sys/contrib/openzfs/.github/CONTRIBUTING.md
@@ -126,8 +126,8 @@ feature needed?  What problem does it solve?
 
 #### General
 
-* All pull requests must be based on the current master branch and apply
-without conflicts.
+* All pull requests, except backports and releases, must be based on the current master branch 
+and should apply without conflicts.
 * Please attempt to limit pull requests to a single commit which resolves
 one specific issue.
 * Make sure your commit messages are in the correct format. See the
@@ -230,70 +230,6 @@ attempting to solve.
 Signed-off-by: Contributor <contributor@email.com>
 ```
 
-#### OpenZFS Patch Ports
-If you are porting OpenZFS patches, the commit message must meet
-the following guidelines:
-* The first line must be the summary line from the most important OpenZFS commit being ported.
-It must begin with `OpenZFS dddd, dddd - ` where `dddd` are OpenZFS issue numbers.
-* Provides a `Authored by:` line to attribute each patch for each original author.
-* Provides the `Reviewed by:` and `Approved by:` lines from each original
-OpenZFS commit.
-* Provides a `Ported-by:` line with the developer's name followed by
-their email for each OpenZFS commit.
-* Provides a `OpenZFS-issue:` line with link for each original illumos
-issue.
-* Provides a `OpenZFS-commit:` line with link for each original OpenZFS commit.
-* If necessary, provide some porting notes to describe any deviations from
-the original OpenZFS commits.
-
-An example OpenZFS patch port commit message for a single patch is provided
-below.
-```
-OpenZFS 1234 - Summary from the original OpenZFS commit
-
-Authored by: Original Author <original@email.com>
-Reviewed by: Reviewer One <reviewer1@email.com>
-Reviewed by: Reviewer Two <reviewer2@email.com>
-Approved by: Approver One <approver1@email.com>
-Ported-by: ZFS Contributor <contributor@email.com>
-
-Provide some porting notes here if necessary.
-
-OpenZFS-issue: https://www.illumos.org/issues/1234
-OpenZFS-commit: https://github.com/openzfs/openzfs/commit/abcd1234
-```
-
-If necessary, multiple OpenZFS patches can be combined in a single port.
-This is useful when you are porting a new patch and its subsequent bug
-fixes. An example commit message is provided below.
-```
-OpenZFS 1234, 5678 - Summary of most important OpenZFS commit
-
-1234 Summary from original OpenZFS commit for 1234
-
-Authored by: Original Author <original@email.com>
-Reviewed by: Reviewer Two <reviewer2@email.com>
-Approved by: Approver One <approver1@email.com>
-Ported-by: ZFS Contributor <contributor@email.com>
-
-Provide some porting notes here for 1234 if necessary.
-
-OpenZFS-issue: https://www.illumos.org/issues/1234
-OpenZFS-commit: https://github.com/openzfs/openzfs/commit/abcd1234
-
-5678 Summary from original OpenZFS commit for 5678
-
-Authored by: Original Author2 <original2@email.com>
-Reviewed by: Reviewer One <reviewer1@email.com>
-Approved by: Approver Two <approver2@email.com>
-Ported-by: ZFS Contributor <contributor@email.com>
-
-Provide some porting notes here for 5678 if necessary.
-
-OpenZFS-issue: https://www.illumos.org/issues/5678
-OpenZFS-commit: https://github.com/openzfs/openzfs/commit/efgh5678
-```
-
 #### Coverity Defect Fixes
 If you are submitting a fix to a
 [Coverity defect](https://scan.coverity.com/projects/zfsonlinux-zfs),
diff --git a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/bug_report.md b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 000000000000..1dbb5f6edb55
--- /dev/null
+++ b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,53 @@
+---
+name: Bug report
+about: Create a report to help us improve OpenZFS
+title: ''
+labels: 'Type: Defect, Status: Triage Needed'
+assignees: ''
+
+---
+
+<!-- Please fill out the following template, which will help other contributors address your issue. -->
+
+<!--
+Thank you for reporting an issue.
+
+*IMPORTANT* - Please check our issue tracker before opening a new issue.
+Additional valuable information can be found in the OpenZFS documentation
+and mailing list archives.
+
+Please fill in as much of the template as possible.
+-->
+
+### System information
+<!--  add version after "|" character -->
+Type | Version/Name
+ --- | ---
+Distribution Name	|
+Distribution Version	|
+Linux Kernel	|
+Architecture	|
+ZFS Version	|
+SPL Version	|
+<!--
+Commands to find ZFS/SPL versions:
+modinfo zfs | grep -iw version
+modinfo spl | grep -iw version
+-->
+
+### Describe the problem you're observing
+
+### Describe how to reproduce the problem
+
+### Include any warning/errors/backtraces from the system logs
+<!--
+*IMPORTANT* - Please mark logs and text output from terminal commands
+or else Github will not display them correctly.
+An example is provided below.
+
+Example:
+```
+this is an example how log text should be marked (wrap it with ```)
+```
+-->
+
diff --git a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/config.yml b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 000000000000..dd8f0557a30c
--- /dev/null
+++ b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,14 @@
+blank_issues_enabled: false
+contact_links:
+  - name: OpenZFS Questions
+    url: https://github.com/openzfs/zfs/discussions/new
+    about: Ask the community for help
+  - name: OpenZFS Community Support Mailing list (Linux)
+    url: https://zfsonlinux.topicbox.com/groups/zfs-discuss
+    about: Get community support for OpenZFS on Linux
+  - name: FreeBSD Community Support Mailing list
+    url: https://lists.freebsd.org/mailman/listinfo/freebsd-fs
+    about: Get community support for OpenZFS on FreeBSD
+  - name: OpenZFS on IRC
+    url: https://webchat.freenode.net/#openzfs
+    about: Use IRC to get community support for OpenZFS
diff --git a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/feature_request.md b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 000000000000..9b50a4a3d96e
--- /dev/null
+++ b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,33 @@
+---
+name: Feature request
+about: Suggest a feature for OpenZFS
+title: ''
+labels: 'Type: Feature'
+assignees: ''
+
+---
+
+<!--
+Thank you for suggesting a feature.
+
+Please check our issue tracker before opening a new feature request.
+Filling out the following template will help other contributors better understand your proposed feature.
+-->
+
+### Describe the feature would like to see added to OpenZFS
+
+<!--
+Provide a clear and concise description of the feature.
+-->
+
+### How will this feature improve OpenZFS?
+
+<!--
+What problem does this feature solve?
+-->
+
+### Additional context
+
+<!--
+Any additional information you can add about the proposal?
+-->
diff --git a/sys/contrib/openzfs/.github/codecov.yml b/sys/contrib/openzfs/.github/codecov.yml
new file mode 100644
index 000000000000..6d4932680e5c
--- /dev/null
+++ b/sys/contrib/openzfs/.github/codecov.yml
@@ -0,0 +1,25 @@
+codecov:
+  notify:
+    require_ci_to_pass: false	# always post
+    after_n_builds: 2		# user and kernel
+
+coverage:
+  precision: 0			# 0 decimals of precision
+  round: nearest        # Round to nearest precision point
+  range: "50...90"		# red -> yellow -> green
+
+  status:
+    project:
+      default:
+        threshold: 1%		# allow 1% coverage variance
+
+    patch:
+      default:
+        threshold: 1%		# allow 1% coverage variance
+
+comment:
+  layout: "reach, diff, flags, footer"
+  behavior: once		# update if exists; post new; skip if deleted
+  require_changes: yes		# only post when coverage changes
+
+# ignore: Please place any ignores in config/ax_code_coverage.m4 instead
diff --git a/sys/contrib/openzfs/.github/no-response.yml b/sys/contrib/openzfs/.github/no-response.yml
new file mode 100644
index 000000000000..ef2656ec96ef
--- /dev/null
+++ b/sys/contrib/openzfs/.github/no-response.yml
@@ -0,0 +1,13 @@
+# Configuration for probot-no-response - https://github.com/probot/no-response
+
+# Number of days of inactivity before an Issue is closed for lack of response
+daysUntilClose: 31
+# Label requiring a response
+responseRequiredLabel: "Status: Feedback requested"
+# Comment to post when closing an Issue for lack of response. Set to `false` to disable
+closeComment: >
+  This issue has been automatically closed because there has been no response
+  to our request for more information from the original author. With only the
+  information that is currently in the issue, we don't have enough information
+  to take action. Please reach out if you have or find the answers we need so
+  that we can investigate further.
diff --git a/sys/contrib/openzfs/.github/stale.yml b/sys/contrib/openzfs/.github/stale.yml
new file mode 100644
index 000000000000..895cc8e803b2
--- /dev/null
+++ b/sys/contrib/openzfs/.github/stale.yml
@@ -0,0 +1,26 @@
+# Number of days of inactivity before an issue becomes stale
+daysUntilStale: 365
+# Number of days of inactivity before a stale issue is closed
+daysUntilClose: 90
+# Limit to only `issues` or `pulls`
+only: issues
+# Issues with these labels will never be considered stale
+exemptLabels:
+  - "Type: Feature"
+  - "Bot: Not Stale"
+  - "Status: Work in Progress"
+# Set to true to ignore issues in a project (defaults to false)
+exemptProjects: true
+# Set to true to ignore issues in a milestone (defaults to false)
+exemptMilestones: true
+# Set to true to ignore issues with an assignee (defaults to false)
+exemptAssignees: true
+# Label to use when marking an issue as stale
+staleLabel: "Status: Stale"
+# Comment to post when marking an issue as stale. Set to `false` to disable
+markComment: >
+  This issue has been automatically marked as "stale" because it has not had
+  any activity for a while. It will be closed in 90 days if no further activity occurs. 
+  Thank you for your contributions.
+# Limit the number of actions per hour, from 1-30. Default is 30
+limitPerRun: 6
diff --git a/sys/contrib/openzfs/.github/workflows/checkstyle.yaml b/sys/contrib/openzfs/.github/workflows/checkstyle.yaml
new file mode 100644
index 000000000000..1707f5bb21db
--- /dev/null
+++ b/sys/contrib/openzfs/.github/workflows/checkstyle.yaml
@@ -0,0 +1,36 @@
+name: checkstyle
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  checkstyle:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+      with:
+        ref: ${{ github.event.pull_request.head.sha }}
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install --yes -qq build-essential autoconf libtool gawk alien fakeroot linux-headers-$(uname -r)
+        sudo apt-get install --yes -qq zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev libssl-dev python-dev python-setuptools python-cffi python3 python3-dev python3-setuptools python3-cffi
+        # packages for tests
+        sudo apt-get install --yes -qq parted lsscsi ksh attr acl nfs-kernel-server fio
+        sudo apt-get install --yes -qq mandoc cppcheck pax-utils devscripts abigail-tools
+        sudo -E pip --quiet install flake8
+    - name: Prepare
+      run: |
+        sh ./autogen.sh
+        ./configure
+        make -j$(nproc)
+    - name: Checkstyle
+      run: |
+        make checkstyle
+    - name: Lint
+      run: |
+        make lint
+    - name: CheckABI
+      run: |
+        make checkabi
diff --git a/sys/contrib/openzfs/.github/workflows/zfs-tests.yml b/sys/contrib/openzfs/.github/workflows/zfs-tests.yml
new file mode 100644
index 000000000000..b075a78c7729
--- /dev/null
+++ b/sys/contrib/openzfs/.github/workflows/zfs-tests.yml
@@ -0,0 +1,58 @@
+name: zfs-tests-sanity
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  tests:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+      with:
+        ref: ${{ github.event.pull_request.head.sha }}
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install --yes -qq build-essential autoconf libtool gdb lcov \
+          git alien fakeroot wget curl bc fio acl \
+          sysstat mdadm lsscsi parted gdebi attr dbench watchdog ksh \
+          nfs-kernel-server samba rng-tools xz-utils \
+          zlib1g-dev uuid-dev libblkid-dev libselinux-dev \
+          xfslibs-dev libattr1-dev libacl1-dev libudev-dev libdevmapper-dev \
+          libssl-dev libffi-dev libaio-dev libelf-dev libmount-dev \
+          libpam0g-dev pamtester python-dev python-setuptools python-cffi \
+          python3 python3-dev python3-setuptools python3-cffi
+    - name: Autogen.sh
+      run: |
+        sh autogen.sh
+    - name: Configure
+      run: |
+        ./configure --enable-debug --enable-debuginfo
+    - name: Make
+      run: |
+        make --no-print-directory -s pkg-utils pkg-kmod
+    - name: Install
+      run: |
+        sudo dpkg -i *.deb
+        # Update order of directories to search for modules, otherwise
+        #   Ubuntu will load kernel-shipped ones.
+        sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
+        sudo depmod
+        sudo modprobe zfs
+    - name: Tests
+      run: |
+        /usr/share/zfs/zfs-tests.sh -v -s 3G -r sanity
+    - name: Prepare artifacts
+      if: failure()
+      run: |
+        RESULTS_PATH=$(readlink -f /var/tmp/test_results/current)
+        sudo dmesg > $RESULTS_PATH/dmesg
+        sudo cp /var/log/syslog $RESULTS_PATH/
+        sudo chmod +r $RESULTS_PATH/*
+    - uses: actions/upload-artifact@v2
+      if: failure()
+      with:
+        name: Test logs
+        path: /var/tmp/test_results/20*/
+        if-no-files-found: ignore
diff --git a/sys/contrib/openzfs/.github/workflows/zloop.yml b/sys/contrib/openzfs/.github/workflows/zloop.yml
new file mode 100644
index 000000000000..30785b14507a
--- /dev/null
+++ b/sys/contrib/openzfs/.github/workflows/zloop.yml
@@ -0,0 +1,67 @@
+name: zloop
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  tests:
+    runs-on: ubuntu-latest
+    env:
+      TEST_DIR: /var/tmp/zloop
+    steps:
+    - uses: actions/checkout@v2
+      with:
+        ref: ${{ github.event.pull_request.head.sha }}
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install --yes -qq build-essential autoconf libtool gdb \
+          git alien fakeroot \
+          zlib1g-dev uuid-dev libblkid-dev libselinux-dev \
+          xfslibs-dev libattr1-dev libacl1-dev libudev-dev libdevmapper-dev \
+          libssl-dev libffi-dev libaio-dev libelf-dev libmount-dev \
+          libpam0g-dev \
+          python-dev python-setuptools python-cffi \
+          python3 python3-dev python3-setuptools python3-cffi
+    - name: Autogen.sh
+      run: |
+        sh autogen.sh
+    - name: Configure
+      run: |
+        ./configure --enable-debug --enable-debuginfo
+    - name: Make
+      run: |
+        make --no-print-directory -s pkg-utils pkg-kmod
+    - name: Install
+      run: |
+        sudo dpkg -i *.deb
+        # Update order of directories to search for modules, otherwise
+        #   Ubuntu will load kernel-shipped ones.
+        sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
+        sudo depmod
+        sudo modprobe zfs
+    - name: Tests
+      run: |
+        sudo mkdir -p $TEST_DIR
+        # run for 20 minutes to have a total runner time of 30 minutes
+        sudo /usr/share/zfs/zloop.sh -t 1200 -l -m1
+    - name: Prepare artifacts
+      if: failure()
+      run: |
+        sudo chmod +r -R $TEST_DIR/
+    - uses: actions/upload-artifact@v2
+      if: failure()
+      with:
+        name: Logs
+        path: |
+          /var/tmp/zloop/*/
+          !/var/tmp/zloop/*/vdev/
+        if-no-files-found: ignore
+    - uses: actions/upload-artifact@v2
+      if: failure()
+      with:
+        name: Pool files
+        path: |
+          /var/tmp/zloop/*/vdev/
+        if-no-files-found: ignore
diff --git a/sys/contrib/openzfs/META b/sys/contrib/openzfs/META
index 87ffae5f4c09..886da443357d 100644
--- a/sys/contrib/openzfs/META
+++ b/sys/contrib/openzfs/META
@@ -2,9 +2,9 @@ Meta:          1
 Name:          zfs
 Branch:        1.0
 Version:       2.0.0
-Release:       rc3
+Release:       rc1
 Release-Tags:  relext
 License:       CDDL
 Author:        OpenZFS
-Linux-Maximum: 5.9
+Linux-Maximum: 5.10
 Linux-Minimum: 3.10
diff --git a/sys/contrib/openzfs/Makefile.am b/sys/contrib/openzfs/Makefile.am
index b409d2196f86..436b78d76282 100644
--- a/sys/contrib/openzfs/Makefile.am
+++ b/sys/contrib/openzfs/Makefile.am
@@ -136,6 +136,13 @@ shellcheck:
 		echo "skipping shellcheck because shellcheck is not installed"; \
 	fi
 
+PHONY += checkabi storeabi
+checkabi: lib
+	$(MAKE) -C lib checkabi
+
+storeabi: lib
+	$(MAKE) -C lib storeabi
+
*** 56332 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101080056.1080u6Ie085632>