HomeFreeBSD

Fix add_nested_replacing_spare test case

Description

Fix add_nested_replacing_spare test case

Use 'zpool reopen' instead of 'zpool scrub' to kick in the spare device:
this is required to avoid spurious failures caused by a race condition
in events processing by the ZFS Event Daemon:

P1 (zpool scrub) P2 (zed)

zfs_ioc_pool_scan()
-> dsl_scan()

  -> vdev_reopen()
   -> vdev_set_state(VDEV_STATE_CANT_OPEN)
                                            zfs_ioc_vdev_attach()
                                             -> spa_vdev_attach()
                                              -> dsl_resilver_restart()
  -> dsl_sync_task()
   -> dsl_scan_setup_check()
   <- dsl_scan_setup_check(): EBUSY

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #7247
Closes #7342

Details

Provenance
LOLi <loli10K@users.noreply.github.com>Authored on Apr 4 2018, 12:30 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Apr 4 2018, 12:30 AM
Parents
rG10adee27ced2: Remove ASSERT() in l2arc_apply_transforms()
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rGf119d00c1fdc: Fix add_nested_replacing_spare test case (authored by LOLi <loli10K@users.noreply.github.com>).Apr 4 2018, 12:30 AM