Multipath autoreplace, control enclosure LEDs, event rate limiting
commit6078881aa18a45ea065a887e2a8606279cdc0329
authorTony Hutter <hutter2@llnl.gov>
Wed, 19 Oct 2016 19:55:59 +0000 (19 12:55 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 19 Oct 2016 19:55:59 +0000 (19 12:55 -0700)
treed6af96c545969994afdf2bf84ee1484b09cdf76c
parent7c502b0b1de8d3d341c026760df5915ad4be794a
Multipath autoreplace, control enclosure LEDs, event rate limiting

1. Enable multipath autoreplace support for FMA.

This extends FMA autoreplace to work with multipath disks.  This
requires libdevmapper to be installed at build time.

2. Turn on/off fault LEDs when VDEVs become degraded/faulted/online

Set ZED_USE_ENCLOSURE_LEDS=1 in zed.rc to have ZED turn on/off the enclosure
LED for a drive when a drive becomes FAULTED/DEGRADED.  Your enclosure must
be supported by the Linux SES driver for this to work.  The enclosure LED
scripts work for multipath devices as well.  The scripts will clear the LED
when the fault is cleared.

3. Rate limit ZIO delay and checksum events so as not to flood ZED

ZIO delay and checksum events are rate limited to 5/sec in the zfs module.

Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed by: Don Brady <don.brady@intel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #2449
Closes #3017
Closes #5159
24 files changed:
cmd/zed/Makefile.am
cmd/zed/agents/zfs_mod.c
cmd/zed/zed.d/statechange-led.sh [new file with mode: 0755]
cmd/zed/zed.d/vdev_clear-led.sh [new symlink]
cmd/zed/zed.d/zed.rc
cmd/zed/zed_disk_event.c
cmd/zed/zed_event.c
config/user-libdevmapper.m4 [new file with mode: 0644]
config/user.m4
configure.ac
include/libzfs.h
include/sys/Makefile.am
include/sys/fm/protocol.h
include/sys/vdev_impl.h
include/sys/zfs_ratelimit.h [new file with mode: 0644]
lib/libzfs/Makefile.am
lib/libzfs/libzfs_import.c
lib/libzfs/libzfs_pool.c
man/man8/zpool.8
module/zcommon/zfs_comutil.c
module/zfs/fm.c
module/zfs/vdev.c
module/zfs/zfs_fm.c
rpm/generic/zfs.spec.in