zfs/cmd/zed
Brian Behlendorf e2176f12a9 Probe vdevs before marking removed
Before allowing the ZED to mark a vdev as REMOVED due to a
hotplug event confirm that it is non-responsive with probe.
Any device which can be successfully probed should be left
ONLINE to prevent a healthy pool from being incorrectly
SUSPENDED.  This may occur for at least the following two
scenarios.

1) Drive expansion (zpool online -e) in VMware environments.
   If, during the partition resize operation, a partition is
   removed and re-created then udev will send a removed event.

2) Re-scanning the namespaces of an NVMe device (nvme ns-rescan)
   may result in a udev remove and add event being delivered.

Finally, update the ZED to only kick in a spare when the
removal was successful.

Reviewed-by: Ameer Hamza <ahamza@ixsystems.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #14859
Closes #14861
2023-05-26 10:08:04 -07:00
..
agents Probe vdevs before marking removed 2023-05-26 10:08:04 -07:00
zed.d Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names 2023-01-19 12:50:36 -08:00
.gitignore Initial implementation of zed (ZFS Event Daemon) 2014-04-02 13:10:03 -07:00
Makefile.am libspl: implement atomics in terms of atomics 2021-06-21 21:48:31 -07:00
zed.c Upstream: Add snapshot and zvol events 2022-02-10 11:04:06 -08:00
zed.h Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_conf.c Upstream: Add snapshot and zvol events 2022-02-10 11:04:06 -08:00
zed_conf.h Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_disk_event.c Remove final K&R definitions 2022-12-01 12:39:44 -08:00
zed_disk_event.h Bring over illumos ZFS FMA logic -- phase 1 2016-09-01 11:39:45 -07:00
zed_event.c Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_event.h Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_exec.c Upstream: Add snapshot and zvol events 2022-02-10 11:04:06 -08:00
zed_exec.h Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_file.c Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_file.h Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_log.c Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_log.h Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_strings.c Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00
zed_strings.h Replace ZoL with OpenZFS where applicable 2021-05-10 12:16:46 -07:00