mirror_zfs/cmd/zed
Brian Behlendorf 577e835f30
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-19 13:05:09 -07:00
..
agents Probe vdevs before marking removed 2023-05-19 13:05:09 -07:00
zed.d Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names 2022-12-13 17:26:10 -08:00
.gitignore Initial implementation of zed (ZFS Event Daemon) 2014-04-02 13:10:03 -07:00
Makefile.am Replace EXTRA_DIST with dist_noinst_DATA 2022-05-26 09:24:50 -07:00
zed_conf.c Fix usage of zed_log_msg() and zfs_panic_recover() 2022-09-19 17:32:18 -07:00
zed_conf.h Prevent zevent list from consuming all of kernel memory 2022-08-22 12:36:22 -07:00
zed_disk_event.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
zed_disk_event.h Bring over illumos ZFS FMA logic -- phase 1 2016-09-01 11:39:45 -07:00
zed_event.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
zed_event.h Replace ZoL with OpenZFS where applicable 2021-05-07 17:20:37 -07:00
zed_exec.c Handle possible null pointers from malloc/strdup/strndup() 2022-10-06 17:18:40 -07:00
zed_exec.h Replace ZoL with OpenZFS where applicable 2021-05-07 17:20:37 -07:00
zed_file.c Replace ZoL with OpenZFS where applicable 2021-05-07 17:20:37 -07:00
zed_file.h Replace ZoL with OpenZFS where applicable 2021-05-07 17:20:37 -07:00
zed_log.c Replace ZoL with OpenZFS where applicable 2021-05-07 17:20:37 -07:00
zed_log.h Reduce false positives from Static Analyzers 2022-09-30 15:30:12 -07:00
zed_strings.c Replace ZoL with OpenZFS where applicable 2021-05-07 17:20:37 -07:00
zed_strings.h Replace ZoL with OpenZFS where applicable 2021-05-07 17:20:37 -07:00
zed.c zed: main: fix unused, remove argsused 2021-12-21 12:05:11 -08:00
zed.h Replace ZoL with OpenZFS where applicable 2021-05-07 17:20:37 -07:00