OpenZFS/src 3084336module Kbuild.in

Linux build: always use objtool

We silence `objtool` warnings on some object files using
`OBJECT_FILES_NON_STANDARD_some_file.o`. Nowadays `objtool` is
needed for CPU vulnerability mitigations and a lot more
functionality so its use is desirable.

Just remove the `OBJECT_FILES_NON_STANDARD` definitions. A follow-up
commit is needed to make the offending files standard and address
the compile time warnings.

Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Attila Fülöp <attila at fueloep.org>
Closes #17401
Closes #17364
DeltaFile
+0-13module/Kbuild.in
+0-131 files

OpenZFS/src 3dfa98dinclude/os/linux/kernel/linux mod_compat.h, module/os/freebsd/zfs zvol_os.c

ZVOL: Make zvol_inhibit_dev module parameter platform-independent

The module parameter now is represented in FreeBSD sysctls list with
name: 'vfs.zfs.vol.inhibit_dev'. The default value is '0', same as on
Linux side.

Sponsored-by: vStack, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Rob Norris <rob.norris at klarasystems.com>
Signed-off-by: Fedor Uporov <fuporov.vstack at gmail.com>
Closes #17384
DeltaFile
+27-31tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_volmode.ksh
+3-0module/os/freebsd/zfs/zvol_os.c
+0-3module/os/linux/zfs/zvol_os.c
+2-0module/zfs/zvol.c
+1-1tests/zfs-tests/include/tunables.cfg
+1-0include/os/linux/kernel/linux/mod_compat.h
+34-356 files

OpenZFS/src fa697b9module/os/freebsd/zfs zfs_vnops_os.c, module/zfs dmu.c

FreeBSD: Add posix_fadvise(POSIX_FADV_WILLNEED) support

As commit 320f0c6 did for Linux, connect POSIX_FADV_WILLNEED
up to dmu_prefetch() on FreeBSD.

While there, fix portability problems in tests/functional/fadvise.

1.  Instead of relying on the numerical values of POSIX_FADV_XXX macros,
    accept macro names as arguments to the file_fadvise program.  (The
    numbers happen to match on Linux and FreeBSD, but future systems may
    vary and it seems a little strange/raw to count on that.)

2.  For implementation reasons, SEQUENTIAL doesn't reach ZFS via FreeBSD
    VFS currently (perhaps something that should be investigated in
    FreeBSD).  Since on Linux we're treating SEQUENTIAL and WILLNEED the
    same, it doesn't really matter which one we use, so switch the test
    over to WILLNEED exercise the new prefetch code on both OSes the
    same way.


    [6 lines not shown]
DeltaFile
+0-77tests/zfs-tests/tests/functional/fadvise/fadvise_sequential.ksh
+77-0tests/zfs-tests/tests/functional/fadvise/fadvise_willneed.ksh
+73-0module/os/freebsd/zfs/zfs_vnops_os.c
+26-6tests/zfs-tests/cmd/file/file_fadvise.c
+12-0module/zfs/dmu.c
+0-4tests/runfiles/linux.run
+188-873 files not shown
+194-899 files

OpenZFS/src 58235f5module/os/linux/spl spl-taskq.c

tunables: remove direct use of module_param_cb

The use for spl_taskq_kick was the only use, and the comment that
module_param_call is obsolete is no longer true - it's still very much
used even in recent kernels.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+2-19module/os/linux/spl/spl-taskq.c
+2-191 files

OpenZFS/src b0e053amodule/zfs arc.c fm.c

tunables: ensure tunable and variable have same define gate

If a variable is only available in the kernel, then the tunable should
also only be available there.

This matters very little so long as we don't have userspace tunables,
but its still good hygeine.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+3-1module/zfs/arc.c
+2-1module/zfs/fm.c
+2-0module/zfs/spa_config.c
+7-23 files

OpenZFS/src 00360efmodule/os/linux/zfs vdev_disk.c, module/zfs dmu.c ddt.c

tunables: fix spelling

Three occurences with an 'e', and all of them mine. Maybe it's an
British thing?

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+1-1module/zfs/dmu.c
+1-1module/os/linux/zfs/vdev_disk.c
+1-1module/zfs/ddt.c
+3-33 files

OpenZFS/src d1724b5module/icp/algs/aes aes_impl.c, module/icp/algs/modes gcm.c

tunables: don't assert initialisation in impl getters

It actually doesn't matter if it's not initialised when we first query
the current value; it just returns empty-string. A crash is quite
obnoxious even if it is a rare case.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+0-2module/icp/algs/aes/aes_impl.c
+0-2module/icp/algs/modes/gcm.c
+0-2module/zfs/vdev_raidz_math.c
+0-63 files

OpenZFS/src dd4e2f9include/os/linux/kernel/linux mod_compat.h

tunables: remove unused param get/set aliases

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+15-35include/os/linux/kernel/linux/mod_compat.h
+15-351 files

OpenZFS/src 589d991include/os/linux/kernel/linux mod_compat.h, module/os/linux/spl spl-generic.c

tunables: use Linux ullong param ops for u64

Since 3.17 Linux has provided param ops for 64-bit ints, so we don't
need to use our own anymore.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+0-22module/os/linux/spl/spl-generic.c
+5-5include/os/linux/kernel/linux/mod_compat.h
+5-272 files

OpenZFS/src 6e7e7eainclude/os/linux/kernel/linux mod_compat.h, module/os/linux/spl spl-generic.c

tunables: remove support for s64 tunables

Nothing uses them now.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+1-6include/os/linux/kernel/linux/mod_compat.h
+0-1module/os/linux/spl/spl-generic.c
+1-72 files

OpenZFS/src 9392be4include/os/linux/kernel/linux mod_compat.h

tunables: remove __check_old_set_param workaround

This was fully removed from Linux in 4.15, so we won't be seeing it
again.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+0-9include/os/linux/kernel/linux/mod_compat.h
+0-91 files

OpenZFS/src 7b183f1include/os/freebsd/spl/sys ccompile.h, module/os/freebsd/zfs zio_crypt.c

tunables: remove FreeBSD compat macros for Linux module params

Nothing in any FreeBSD code uses them.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+0-6module/os/freebsd/zfs/zio_crypt.c
+1-4include/os/freebsd/spl/sys/ccompile.h
+1-102 files

OpenZFS/src 5ef91c2module/zfs zfs_log.c

zfs_log: make zfs_immediate_write_sz uint

Likely it's only int64 for comparison with ssize_t, which is signed.
However, it would make no sense for it to be less than 0 or greater than
4G, so making it a regular uint will make it safe for comparison and
remove the only S64 tunable in core.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #17377
DeltaFile
+2-2module/zfs/zfs_log.c
+2-21 files

OpenZFS/src 906ced8. META

Linux 6.15 compat: META

Update the META file to reflect compatibility with the 6.15
kernel.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tony Hutter <hutter2 at llnl.gov>
Closes #17393 
DeltaFile
+1-1META
+1-11 files

OpenZFS/src 4c84257. META

META: 2.3.3

Signed-off-by: Rob Norris <robn at despairlabs.com>
DeltaFile
+1-1META
+1-11 files

OpenZFS/src 6b70ca6cmd arcstat.in

arcstat: prevent ZeroDivisionError when L2ARC becomes empty

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Richard Yao <richard at ryao.dev>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Signed-off-by: Ameer Hamza <ahamza at ixsystems.com>
Closes #17348
(cherry picked from commit f0baaa329ab2f28773b9a082d74cbb773a306a53)
DeltaFile
+7-6cmd/arcstat.in
+7-61 files

OpenZFS/src db290fdinclude/os/linux/kernel/linux page_compat.h, man/man4 zfs.4

Linux: Stop using NR_FILE_PAGES for ARC scaling

I've found that QEMU/KVM guest memory accounted as shared also
included into NR_FILE_PAGES.  But it is actually a non-evictable
anonymous memory.  Using it as a base for zfs_arc_pc_percent
parameter makes ARC to ignore shrinker requests while page cache
does not really have anything to evict, ending up in OOM killer
killing the QEMU process.

Instead use of NR_ACTIVE_FILE + NR_INACTIVE_FILE should represent
the part of a page cache that is actually evictable, which should
be safer to use as a reference for ARC scaling.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Ameer Hamza <ahamza at ixsystems.com>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #17334
(cherry picked from commit 0aa83dce99e47ccd533be24b82332268766b68db)
DeltaFile
+3-1man/man4/zfs.4
+2-2include/os/linux/kernel/linux/page_compat.h
+5-32 files

OpenZFS/src 1c11d3amodule/zfs spa.c

spa: clear checkpoint information during retry

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Signed-off-by: Mariusz Zaborski <oshogbo at FreeBSD.org>
Closes #17319
(cherry picked from commit 8b9c4e643b6900829f3ba9bcaab8412d2e26895c)
DeltaFile
+1-0module/zfs/spa.c
+1-01 files

OpenZFS/src ad63ab2cmd/zfs zfs_main.c, lib/libzfs libzfs_iter.c

Sort the blocking snapshots list #12751 (#17264)

When multiple snapshots prevent the destruction/rollback of the
respective dataset/snapshot/volume via zfs destroy or zfs rollback,
the error message does not list the blocking snapshots sorted
according to their order of creation. This causes inconvenience and can
lead to confusion, and also creates a contrast with a returned message
from zfs list -t snap function.

Closes: #12751

Signed-off-by: Artem-OSSRevival <artem.vlasenko at ossrevival.org>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
(cherry picked from commit 27f3d94940490d891c70e0c148f80d0c0ce09ed4)
DeltaFile
+1-1cmd/zfs/zfs_main.c
+1-1lib/libzfs/libzfs_iter.c
+2-22 files

OpenZFS/src 588fa16module/zfs zap_leaf.c

ZAP: Reduce leaf array and free chunks fragmentation

Previous implementation of zap_leaf_array_free() put chunks on the
free list in reverse order.  Also zap_leaf_transfer_entry() and
zap_entry_remove() were freeing name and value arrays in reverse
order.  Together this created a mess in the free list, making
following allocations much more fragmented than necessary.

This patch re-implements zap_leaf_array_free() to keep existing
chunks order, and implements non-destructive zap_leaf_array_copy()
to be used in zap_leaf_transfer_entry() to allow properly ordered
freeing name and value arrays there and in zap_entry_remove().

With this change test of some writes and deletes shows percent of
non-contiguous chunks in DDT reducing from 61% and 47% to 0% and
17% for arrays and frees respectively.  Sure some explicit sorting
could do even better, especially for ZAPs with variable-size arrays,
but it would also cost much more, while this should be very cheap.


    [5 lines not shown]
DeltaFile
+63-45module/zfs/zap_leaf.c
+63-451 files

OpenZFS/src fd13ad0udev/rules.d 69-vdev.rules.in

Update 69-vdev.rules.in

Add support to alias md-type devices in udev rules.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Andres <a-d-j-i at users.noreply.github.com>
Closes #17345
(cherry picked from commit a6f20250de7f069da4c216dd717820058a02cd85)
DeltaFile
+1-0udev/rules.d/69-vdev.rules.in
+1-01 files

OpenZFS/src a4de1d3module/icp/algs/modes modes.c

icp: Use explicit_memset() exclusively in gcm_clear_ctx()

d634d20d1be31dfa8cf06ef2dc96285baf81a2fb had been intended to fix a
potential information leak issue where the compiler's optimization
passes appeared to remove `memset()` operations that sanitize sensitive
data before memory is freed for use by the rest of the kernel.

When I wrote it, I had assumed that the compiler would not remove the
other `memset()` operations, but upon reflection, I have realized that
this was a bad assumption to make. I would rather have a very slight
amount of additional overhead when calling `gcm_clear_ctx()` than risk a
future compiler remove `memset()` calls. This is likely to happen if
someone decides to try doing link time optimization and the person will
not think to audit the assembly output for issues like this, so it is
best to preempt the possibility before it happens.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Rob Norris <robn at despairlabs.com>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>

    [4 lines not shown]
DeltaFile
+2-2module/icp/algs/modes/modes.c
+2-21 files

OpenZFS/src a2bcf19.github/workflows zfs-qemu.yml, .github/workflows/scripts qemu-3-deps-vm.sh qemu-3-deps.sh

runners: Add option to install custom kernel on Fedora

Allow installing a custom kernel version from the Fedora experimental
kernel repos onto the github runners.  This is useful for testing if
ZFS works against a newer kernel.

Fedora has a number of repos with experimental kernel packages. This
PR allows installs from kernels in these repos:

@kernel-vanilla/stable
@kernel-vanilla/mainline
(https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories)

You will need to manually kick of a github runner to test with a custom
kernel version.  To do that, go to the github actions tab under
'zfs-qemu' and click the drop-down for 'run workflow'.  In there you
will see a text box to specify the version (like '6.14').  The scripts
will do their best to match the version to the newest matching version
that the repos support (since they're may be multiple nightly versions

    [8 lines not shown]
DeltaFile
+26-0.github/workflows/scripts/qemu-3-deps-vm.sh
+15-2.github/workflows/zfs-qemu.yml
+14-1.github/workflows/scripts/qemu-3-deps.sh
+55-33 files

OpenZFS/src ce9cd12include/sys txg.h, module/zfs txg.c dsl_synctask.c

txg: generalise txg_wait_synced_sig() to txg_wait_synced_flags() (#17284)

txg_wait_synced_sig() is "wait for txg, unless a signal arrives". We
expect that future development will require similar "wait unless X"
behaviour.

This generalises the API as txg_wait_synced_flags(), where the provided
flags describe the events that should cause the call to return.

Instead of a boolean, the return is now an error code, which the caller
can use to know which event caused the call to return.

The existing call to txg_wait_synced_sig() is now
txg_wait_synced_flags(TXG_WAIT_SIGNAL).

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.

Signed-off-by: Rob Norris <robn at despairlabs.com>

    [3 lines not shown]
DeltaFile
+17-17module/zfs/txg.c
+20-3include/sys/txg.h
+13-6module/zfs/dsl_synctask.c
+2-2module/zfs/zcp.c
+52-284 files

OpenZFS/src 4f34e8dman/man8 zfs-rollback.8

zfs-rollback.8: fix typo in example number

Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Alexander Ziaee <ziaee at FreeBSD.org>
Reviewed-by: Rob Norris <robn at despairlabs.com>
Signed-off-by: Quentin Thébault <quentin.thebault at defenso.fr>
Closes #17282
(cherry picked from commit 63de2d2dbdd47d4cf3179a1a2b77079741d43ddb)
DeltaFile
+2-2man/man8/zfs-rollback.8
+2-21 files

OpenZFS/src 658526d.github/workflows zfs-qemu.yml, .github/workflows/scripts qemu-2-start.sh qemu-3-deps-vm.sh

ZTS: Update FreeBSD version numbers

All defined variants:
- freebsd13-4r, freebsd13-5r, freebsd14-1r, freebsd14-2r (RELEASE)
- freebsd13-5s, freebsd14-2s (STABLE)
- freebsd15-0c (CURRENT)

Used for testing:
- freebsd13-4r (RELEASE)
- freebsd14-2s (STABLE)
- freebsd15-0c (CURRENT)

Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Signed-off-by: Tino Reichardt <milky-zfs at mcmilk.de>
Closes: #17260
(cherry picked from commit 6afb405d96bc54844e9cad65571fccca58644af6)
DeltaFile
+17-6.github/workflows/scripts/qemu-2-start.sh
+1-1.github/workflows/zfs-qemu.yml
+1-0.github/workflows/scripts/qemu-3-deps-vm.sh
+19-73 files

OpenZFS/src c2424f8module/zfs dbuf.c

Improve L2 caching control for prefetched indirects

dbuf_prefetch_impl() should look on level of current indirect, not
the target prefetch level.  dbuf_prefetch_indirect_done() should
call dnode_level_is_l2cacheable() if we have dpa_dnode to pass it.
It should fix some both false positive and negative L2ARC caching.

While there, fix redacted feature activation assertions.  One was
always true, while another could give false positive if dpa_dnode
is NULL.

George Amanakis <gamanakis at gmail.com>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Closes #17204
(cherry picked from commit a497c5fc8b14d0d868d2817a241d0429d6e3fca2)
DeltaFile
+14-11module/zfs/dbuf.c
+14-111 files

OpenZFS/src 64e77fdmodule/zfs vdev_removal.c

Fix null dereference in spa_vdev_remove_cancel_sync()

We don't really need to access space map to know where the metaslab
ends, while msp->ms_sm might be NULL.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Rob Norris <robn at despairlabs.com>
Reviewed by: Igor Kozhukhov <ikozhukhov at gmail.com>
Signed-off-by:  Alexander Motin <mav at FreeBSD.org>
Sponsored by:   iXsystems, Inc.
Fixes #17164
Fixes #17359
Closes #17361
(cherry picked from commit 5c30b24381644a9d1b83d51e813e5e7efba23bc6)
DeltaFile
+3-4module/zfs/vdev_removal.c
+3-41 files

OpenZFS/src 4b01484module/zfs spa.c, tests/runfiles linux.run

Fix double spares for failed vdev

It's possible for two spares to get attached to a single failed vdev.
This happens when you have a failed disk that is spared, and then you
replace the failed disk with a new disk, but during the resilver
the new disk fails, and ZED kicks in a spare for the failed new
disk.  This commit checks for that condition and disallows it.

Reviewed-by: Akash B <akash-b at hpe.com>
Reviewed-by: Ameer Hamza <ahamza at ixsystems.com>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tony Hutter <hutter2 at llnl.gov>
Closes: #16547
Closes: #17231
(cherry picked from commit f40ab9e399280bea6a0fc1c17803d1a6ea524bff)
DeltaFile
+122-0tests/zfs-tests/tests/functional/fault/auto_spare_double.ksh
+82-0module/zfs/spa.c
+4-4tests/runfiles/linux.run
+1-0tests/zfs-tests/tests/Makefile.am
+209-44 files

OpenZFS/src cd777batests/zfs-tests/tests/functional/replacement resilver_restart_001.ksh

ZTS: Fix replacement/resilver_restart_001 on FreeBSD

Decrease the RESILVER_MIN_TIME_MS variable from 50 to 20.
So the test, which expects two 2 resilver starts will see them.

Logfile of the seen failures before this fix:
log: NOTE: expected 2 resilver start(s) after offline/online, found 1
log: expected 2 resilver start(s) after offline/online, found 1

The test time decreases also from around 00:42 to 00:24 seconds.

Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Signed-off-by: Tino Reichardt <milky-zfs at mcmilk.de>
Closes #16822
Closes #17279
(cherry picked from commit 3b188772696ed3738340a2aaddd401e7de1f290c)
DeltaFile
+1-1tests/zfs-tests/tests/functional/replacement/resilver_restart_001.ksh
+1-11 files