diff options
author | Richard Laager <[email protected]> | 2020-05-30 20:39:31 -0500 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2020-08-28 10:17:14 -0700 |
commit | 62663fb7ec191ca2f872aec1636e94934212936f (patch) | |
tree | 3880f1eea03ba5db354b6a62a9c6a348055cb9b6 | |
parent | ec41cafee1dac132775ca3eaa9aa7f56cf30b30f (diff) |
Fix another dependency loop
zfs-load-key-DATASET.service was gaining an
After=systemd-journald.socket due to its stdout/stderr going to the
journal (which is the default). systemd-journald.socket has an After
(via RequiresMountsFor=/run/systemd/journal) on -.mount. If the root
filesystem is encrypted, -.mount gets an After
zfs-load-key-DATASET.service.
By setting stdout and stderr to null on the key load services, we avoid
this loop.
Reviewed-by: Antonio Russo <[email protected]>
Reviewed-by: InsanePrawn <[email protected]>
Signed-off-by: Richard Laager <[email protected]>
Closes #10356
Closes #10388
-rwxr-xr-x | etc/systemd/system-generators/zfs-mount-generator.in | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/etc/systemd/system-generators/zfs-mount-generator.in b/etc/systemd/system-generators/zfs-mount-generator.in index de49afe8b..28439f424 100755 --- a/etc/systemd/system-generators/zfs-mount-generator.in +++ b/etc/systemd/system-generators/zfs-mount-generator.in @@ -221,6 +221,10 @@ ${keymountdep} [Service] Type=oneshot RemainAfterExit=yes +# This avoids a dependency loop involving systemd-journald.socket if this +# dataset is a parent of the root filesystem. +StandardOutput=null +StandardError=null ExecStart=${keyloadcmd} ExecStop=${keyunloadcmd}" > "${dest_norm}/${keyloadunit}" fi |