mirror_zfs/cmd/zed/zed.d
Chris Dunlap ce119da33d Combine data-notify.sh with io-notify.sh
The data-notify.sh ZEDLET serves a very similar purpose to
io-notify.sh, namely, to generate a notification in response to a
particular error event.  Initially, data-notify.sh was separated from
io-notify.sh since the "data" zevent does not (as I understand it)
pertain to a specific vdev device.  This stands in contrast to the
"checksum" and "io" zevents (both handled by io-notify.sh) that can
be attributed to a specific vdev.  At the time, it seemed simpler to
handle these two cases in separate scripts.

This commit adds support for the "data" zevent to io-notify.sh, and
symlinks io-notify.sh to data-notify.sh.  It also adds the counts
for vdev_read_errors, vdev_write_errors, and vdev_cksum_errors to
the notification message.

Signed-off-by: Chris Dunlap <cdunlap@llnl.gov>
2015-04-27 12:08:08 -07:00
..
all-debug.sh Cleanup ZEDLETs 2015-04-27 12:08:01 -07:00
all-syslog.sh Cleanup ZEDLETs 2015-04-27 12:08:01 -07:00
checksum-notify.sh Replace "email" ZEDLETs with "notify" ZEDLETs 2015-04-27 12:08:07 -07:00
checksum-spare.sh Add automatic hot spare functionality 2014-04-02 13:10:08 -07:00
data-notify.sh Combine data-notify.sh with io-notify.sh 2015-04-27 12:08:08 -07:00
generic-notify.sh Replace "email" ZEDLETs with "notify" ZEDLETs 2015-04-27 12:08:07 -07:00
io-notify.sh Combine data-notify.sh with io-notify.sh 2015-04-27 12:08:08 -07:00
io-spare.sh Add notification to io-spare.sh 2015-04-27 12:08:08 -07:00
README Cleanup ZEDLETs 2015-04-27 12:08:01 -07:00
resilver.finish-notify.sh Replace "email" ZEDLETs with "notify" ZEDLETs 2015-04-27 12:08:07 -07:00
scrub.finish-notify.sh Replace "email" ZEDLETs with "notify" ZEDLETs 2015-04-27 12:08:07 -07:00
zed-functions.sh Add support for Pushbullet notifications 2015-04-27 12:08:08 -07:00
zed.rc Add support for Pushbullet notifications 2015-04-27 12:08:08 -07:00

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.