zfs/cmd
LOLi a8fa31b50b Fix 'zpool add' handling of nested interior VDEVs
When replacing a faulted device which was previously handled by a spare
multiple levels of nested interior VDEVs will be present in the pool
configuration; the following example illustrates one of the possible
situations:

   NAME                          STATE     READ WRITE CKSUM
   testpool                      DEGRADED     0     0     0
     raidz1-0                    DEGRADED     0     0     0
       spare-0                   DEGRADED     0     0     0
         replacing-0             DEGRADED     0     0     0
           /var/tmp/fault-dev    UNAVAIL      0     0     0  cannot open
           /var/tmp/replace-dev  ONLINE       0     0     0
         /var/tmp/spare-dev1     ONLINE       0     0     0
       /var/tmp/safe-dev         ONLINE       0     0     0
   spares
     /var/tmp/spare-dev1         INUSE     currently in use

This is safe and allowed, but get_replication() needs to handle this
situation gracefully to let zpool add new devices to the pool.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #6678
Closes #6996
2018-01-30 10:27:31 -06:00
..
arc_summary Handle broken pipes in arc_summary 2018-01-30 10:27:31 -06:00
arcstat arcstat: flush stdout / outfile after each line 2017-11-20 16:19:23 -06:00
dbufstat Correct arc_summary and dbufstat python style 2017-03-09 10:21:59 -08:00
fsck_zfs Add /sbin/fsck.zfs helper 2013-01-09 16:54:58 -08:00
mount_zfs Add MS_MANDLOCK mount failure message 2017-06-07 10:59:44 -07:00
raidz_test Add missing *_destroy/*_fini calls 2017-05-04 19:26:28 -04:00
vdev_id vdev_id: implement slot numbering by port id 2017-08-21 16:41:22 -07:00
zdb Improved dnode allocation and dmu_hold_impl() (#6611) 2017-09-13 15:46:15 -07:00
zed Use bitwise '&' instead of logical '&&' 2017-10-16 10:57:55 -07:00
zfs Add missing \n for "invalid optionusage" output 2017-06-09 09:51:13 -07:00
zgenhostid Add zgenhostid utility script 2017-07-25 13:22:03 -04:00
zhack Skip activity check for zhack RO import 2017-07-25 13:22:14 -04:00
zinject Inject zinject(8) a percentage amount of dev errs 2017-06-16 17:21:11 -07:00
zpios Fix spelling 2017-01-03 11:31:18 -06:00
zpool Fix 'zpool add' handling of nested interior VDEVs 2018-01-30 10:27:31 -06:00
zstreamdump Some additional send stream validity checking 2017-07-25 18:52:40 -07:00
ztest Fix ZTS MMP tests and ztest -M behavior 2017-12-18 10:14:39 -08:00
zvol_id OpenZFS 6314 - buffer overflow in dsl_dataset_name 2016-06-28 13:47:03 -07:00
Makefile.am Add zgenhostid utility script 2017-07-25 13:22:03 -04:00