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