HomeFreeBSD

Various ZED fixes

Description

Various ZED fixes

  • Teach ZED to handle spares usingi the configured ashift: if the zpool 'ashift' property is set then ZED should use its value when kicking in a hotspare; with this change 512e disks can be used as spares for VDEVs that were created with ashift=9, even if ZFS natively detects them as 4K block devices.
    • Introduce an additional auto_spare test case which verifies that in the face of multiple device failures an appropiate number of spares are kicked in.
    • Fix zed_stop() in "libtest.shlib" which did not correctly wait the target pid.
    • Fix ZED crashing on startup caused by a race condition in libzfs when used in multi-threaded context.
    • Convert ZED over to using the tpool library which is already present in the Illumos FMA code.

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

Details

Provenance
LOLi <loli10K@users.noreply.github.com>Authored on Dec 9 2017, 12:58 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Dec 9 2017, 12:58 AM
Parents
rG3ab3166347b8: Disable vdev_zaps_004_pos
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG4e9b15696056: Various ZED fixes (authored by LOLi <loli10K@users.noreply.github.com>).Dec 9 2017, 12:58 AM