git: 7877fdebeeb3 - main - OpenZFS merge main-gf11b09
Matt Macy
mmacy at FreeBSD.org
Fri Jan 8 00:56:07 UTC 2021
The branch main has been updated by mmacy:
URL: https://cgit.FreeBSD.org/src/commit/?id=7877fdebeeb35fad1cbbafce22598b1bdf97c786
commit 7877fdebeeb35fad1cbbafce22598b1bdf97c786
Author: Matt Macy <mmacy at FreeBSD.org>
AuthorDate: 2021-01-07 23:27:17 +0000
Commit: Matt Macy <mmacy at 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 at 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 at email.com>
-Reviewed by: Reviewer One <reviewer1 at email.com>
-Reviewed by: Reviewer Two <reviewer2 at email.com>
-Approved by: Approver One <approver1 at email.com>
-Ported-by: ZFS Contributor <contributor at 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 at email.com>
-Reviewed by: Reviewer Two <reviewer2 at email.com>
-Approved by: Approver One <approver1 at email.com>
-Ported-by: ZFS Contributor <contributor at 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 at email.com>
-Reviewed by: Reviewer One <reviewer1 at email.com>
-Approved by: Approver Two <approver2 at email.com>
-Ported-by: ZFS Contributor <contributor at 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 at 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 at 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 at 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 at 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 at v2
+ if: failure()
+ with:
+ name: Logs
+ path: |
+ /var/tmp/zloop/*/
+ !/var/tmp/zloop/*/vdev/
+ if-no-files-found: ignore
+ - uses: actions/upload-artifact at 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 ***
More information about the dev-commits-src-all
mailing list