zfs/cmd/zed/zed.d
Antonio Russo af7a5672c3 systemd encryption key support
Modify zfs-mount-generator to produce a dependency on new
zfs-import-key-*.service units, dynamically created at boot to call
zfs load-key for the encryption root, before attempting to mount any
encrypted datasets.

These units are created by zfs-mount-generator, and RequiresMountsFor on
the keyfile, if present, or call systemd-ask-password if a passphrase is
requested.

This patch includes suggestions from @Fabian-Gruenbichler, @ryanjaeb and
@rlaager, as well an adaptation of @rlaager's script to retry on
incorrect password entry.

Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
Closes #8750
Closes #8848
2019-09-25 11:27:49 -07:00
..
.gitignore systemd mount generator and tracking ZEDLET 2018-04-06 14:11:09 -07:00
Makefile.am Fix out-of-tree build failures 2019-09-25 11:27:48 -07:00
README
all-debug.sh Allow to limit zed's syslog chattiness 2018-03-06 15:41:52 -08:00
all-syslog.sh Allow to limit zed's syslog chattiness 2018-03-06 15:41:52 -08:00
data-notify.sh
generic-notify.sh
history_event-zfs-list-cacher.sh.in systemd encryption key support 2019-09-25 11:27:49 -07:00
pool_import-led.sh
resilver_finish-notify.sh
resilver_finish-start-scrub.sh
scrub_finish-notify.sh
statechange-led.sh shellcheck pass 2019-02-04 09:07:19 -08:00
statechange-notify.sh
vdev_attach-led.sh
vdev_clear-led.sh
zed-functions.sh shellcheck pass 2019-02-04 09:07:19 -08:00
zed.rc Update commented zed.rc values to defaults 2019-03-14 09:53:34 -07:00

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://github.com/google/styleguide/blob/gh-pages/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.