Fix statechange-led.sh & unnecessary libdevmapper warning --with-config=kernel #5331
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ZED sends the following events on an auto-replace:
UNAVAIL
->ONLINE
ONLINE
->UNAVAIL
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 event # 3.
In the previous code, statechange-led was only looking at the
UNAVAIL
->ONLINE
transition to turn off the LED. It ignored the event # 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 wantto 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 LEDwhen an auto-replaced disk comes online.
--with-config=kernel
This fixes an unnecessary libdevmapper warning when building
--with-config=kernel
. Kernel code does not use libdevmapper, so the warningis not needed.