aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/initramfs/scripts/zfs.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/initramfs/scripts/zfs.in')
-rw-r--r--contrib/initramfs/scripts/zfs.in3
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/initramfs/scripts/zfs.in b/contrib/initramfs/scripts/zfs.in
index c82b210d7..523694473 100644
--- a/contrib/initramfs/scripts/zfs.in
+++ b/contrib/initramfs/scripts/zfs.in
@@ -414,6 +414,9 @@ decrypt_fs()
# If root dataset is encrypted...
if ! [ "${ENCRYPTIONROOT}" = "-" ]; then
+ KEYSTATUS="$(${ZFS} get -H -o value keystatus "${ENCRYPTIONROOT}")"
+ # Continue only if the key needs to be loaded
+ [ "$KEYSTATUS" = "unavailable" ] || return 0
TRY_COUNT=3
# Prompt with plymouth, if active
if [ -e /bin/plymouth ] && /bin/plymouth --ping 2>/dev/null; then