HomeFreeBSD

Fix statechange-led.sh & unnecessary libdevmapper warning

Description

Fix statechange-led.sh & unnecessary libdevmapper warning

  • Fix autoreplace behaviour on statechange-led.sh script.

ZED sends the following events on an auto-replace:

  1. statechange: Disk goes UNAVAIL->ONLINE
  2. statechange: Disk goes ONLINE->UNAVAIL
  3. vdev_attach: Disk goes ONLINE

Events 1-2 happen when ZED first attempts to do an auto-online. When that
fails, ZED then tries an auto-replace, generating the vdev_attach event in #3.

In the previous code, statechange-led was only looking at the UNAVAIL->ONLINE
transition to turn off the LED. It ignored the #2 ONLINE->UNAVAIL transition,
assuming it was just the "old" VDEV going offline. This is problematic, as
a drive can go from ONLINE->UNAVAIL when it's malfunctioning, and we don't want
to ignore that.

This new patch correctly turns on the fault LED every time a drive becomes
UNAVAIL. It also monitors vdev_attach events to trigger turning off the LED
when an auto-replaced disk comes online.

  • Remove unnecessary libdevmapper warning with --with-config=kernel

This fixes an unnecessary libdevmapper warning when building
--with-config=kernel. Kernel code does not use libdevmapper, so the warning
is not needed.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #2375
Closes #5312
Closes #5331

Details

Provenance
Tony Hutter <hutter2@llnl.gov>Authored on Oct 25 2016, 6:05 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Oct 25 2016, 6:05 PM
Parents
rG402c7c27b02c: icp: mark asm files with noexec stack
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG6568379eea8f: Fix statechange-led.sh & unnecessary libdevmapper warning (authored by Tony Hutter <hutter2@llnl.gov>).Oct 25 2016, 6:05 PM