976246fadd
The phase 2 work primarily entails the Diagnosis Engine and the Retire Agent modules. It also includes infrastructure to support a crude FMD environment to host these modules. The Diagnosis Engine consumes I/O and checksum ereports and feeds them into a SERD engine which will generate a corres- ponding fault diagnosis when the SERD engine fires. All the diagnosis state data is collected into cases, one case per vdev being tracked. The Retire Agent responds to diagnosed faults by isolating the faulty VDEV. It will notify the ZFS kernel module of the new VDEV state (degraded or faulted). This agent is also responsible for managing hot spares across pools. When it encounters a device fault or a device removal it replaces the device with an appropriate spare if available. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Don Brady <don.brady@intel.com> Closes #5343 |
||
---|---|---|
.. | ||
README | ||
all-debug.sh | ||
all-syslog.sh | ||
checksum-notify.sh | ||
data-notify.sh | ||
generic-notify.sh | ||
io-notify.sh | ||
resilver_finish-notify.sh | ||
scrub_finish-notify.sh | ||
statechange-led.sh | ||
vdev_attach-led.sh | ||
vdev_clear-led.sh | ||
zed-functions.sh | ||
zed.rc |
README
Shell scripts are the recommended choice for ZEDLETs that mostly call other utilities and do relatively little data manipulation. Shell scripts MUST work on both bash and dash. Shell scripts MUST run cleanly through ShellCheck: http://www.shellcheck.net/ General functions reside in "zed-functions.sh". Use them where applicable. Additional references that may be of use: Google Shell Style Guide https://google-styleguide.googlecode.com/svn/trunk/shell.xml Dash as /bin/sh https://wiki.ubuntu.com/DashAsBinSh Common shell script mistakes http://www.pixelbeat.org/programming/shell_script_mistakes.html Filenames and Pathnames in Shell: How to do it Correctly http://www.dwheeler.com/essays/filenames-in-shell.html Autoconf: Portable Shell Programming https://www.gnu.org/software/autoconf/manual/autoconf.html#Portable-Shell Please BE CONSISTENT with the existing style, check for errors, minimize dependencies where possible, try to be portable, and comment anything non-obvious. Festina lente.