HomeFreeBSD

Probe vdevs before marking removed

Description

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.
  1. 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

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on May 19 2023, 8:05 PM
GitHub <noreply@github.com>Committed on May 19 2023, 8:05 PM
Parents
rG482eeef804f0: Teach zpool scrub to scrub only blocks in error log
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rG577e835f30c9: Probe vdevs before marking removed (authored by Brian Behlendorf <behlendorf1@llnl.gov>).May 19 2023, 8:05 PM