zfs/cmd
Tom Caputi 80a91e7469 Defer new resilvers until the current one ends
Currently, if a resilver is triggered for any reason while an
existing one is running, zfs will immediately restart the existing
resilver from the beginning to include the new drive. This causes
problems for system administrators when a drive fails while another
is already resilvering. In this case, the optimal thing to do to
reduce risk of data loss is to wait for the current resilver to end
before immediately replacing the second failed drive, which allows
the system to operate with two incomplete drives for the minimum
amount of time.

This patch introduces the resilver_defer feature that essentially
does this for the admin without forcing them to wait and monitor
the resilver manually. The change requires an on-disk feature
since we must mark drives that are part of a deferred resilver in
the vdev config to ensure that we do not assume they are done
resilvering when an existing resilver completes.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: John Kennedy <john.kennedy@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: @mmaybee 
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #7732
2018-10-18 21:06:18 -07:00
..
arc_summary ZTS: path cleanup 2018-08-30 13:46:55 -07:00
arcstat Fix arcstat.py handling of unsupported options 2018-08-18 13:10:36 -07:00
dbufstat Fix some typos 2018-02-28 08:57:10 -08:00
fsck_zfs Add /sbin/fsck.zfs helper 2013-01-09 16:54:58 -08:00
mount_zfs Update build system and packaging 2018-05-29 16:00:33 -07:00
raidz_test Support -fsanitize=address with --enable-asan 2018-01-10 10:49:27 -08:00
vdev_id vdev_id: new slot type ses 2017-12-20 09:42:07 -08:00
zdb Add types to featureflags in zfs 2018-10-16 11:15:04 -07:00
zed Add support for autoexpand property 2018-07-23 15:40:15 -07:00
zfs Fix 'zfs allow' for create time permissions 2018-09-06 13:11:21 -07:00
zgenhostid Add zgenhostid utility script 2017-07-25 13:22:03 -04:00
zhack Project Quota on ZFS 2018-02-13 14:54:54 -08:00
zinject OpenZFS 9403 - assertion failed in arc_buf_destroy() 2018-08-29 11:33:33 -07:00
zpool Defer new resilvers until the current one ends 2018-10-18 21:06:18 -07:00
zstreamdump zstreamdump dumps core printing truncated nvlist 2018-09-18 09:43:09 -07:00
ztest OpenZFS 9689 - zfs range lock code should not be zpl-specific 2018-10-11 10:19:33 -07:00
zvol_id Fedora 28: Fix misc bounds check compiler warnings 2018-04-04 10:16:47 -07:00
Makefile.am Retire legacy test infrastructure 2017-08-15 17:26:38 -07:00