From owner-dev-commits-src-all@freebsd.org Fri Jan 8 00:56:07 2021 Return-Path: Delivered-To: dev-commits-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DFABE4E21D2; Fri, 8 Jan 2021 00:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DBl5z5tr4z4gPv; Fri, 8 Jan 2021 00:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B8ACD1A2F4; Fri, 8 Jan 2021 00:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1080u7Yk085637; Fri, 8 Jan 2021 00:56:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1080u6Ie085632; Fri, 8 Jan 2021 00:56:06 GMT (envelope-from git) Date: Fri, 8 Jan 2021 00:56:06 GMT Message-Id: <202101080056.1080u6Ie085632@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Matt Macy Subject: git: 7877fdebeeb3 - main - OpenZFS merge main-gf11b09 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mmacy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7877fdebeeb35fad1cbbafce22598b1bdf97c786 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jan 2021 00:56:07 -0000 The branch main has been updated by mmacy: URL: https://cgit.FreeBSD.org/src/commit/?id=7877fdebeeb35fad1cbbafce22598b1bdf97c786 commit 7877fdebeeb35fad1cbbafce22598b1bdf97c786 Author: Matt Macy AuthorDate: 2021-01-07 23:27:17 +0000 Commit: Matt Macy 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 ``` -#### 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 -Reviewed by: Reviewer One -Reviewed by: Reviewer Two -Approved by: Approver One -Ported-by: ZFS Contributor - -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 -Reviewed by: Reviewer Two -Approved by: Approver One -Ported-by: ZFS Contributor - -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 -Reviewed by: Reviewer One -Approved by: Approver Two -Ported-by: ZFS Contributor - -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: '' + +--- + + + + + +### System information + +Type | Version/Name + --- | --- +Distribution Name | +Distribution Version | +Linux Kernel | +Architecture | +ZFS Version | +SPL Version | + + +### Describe the problem you're observing + +### Describe how to reproduce the problem + +### Include any warning/errors/backtraces from the system logs + + 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: '' + +--- + + + +### Describe the feature would like to see added to OpenZFS + + + +### How will this feature improve OpenZFS? + + + +### Additional context + + 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 ***