summary refs log tree commit diff
path: root/nixos/modules/tasks/filesystems/zfs.nix
diff options
context:
space:
mode:
authorWill Fancher <elvishjerricco@gmail.com>2020-06-30 21:35:35 -0400
committerWill Fancher <elvishjerricco@gmail.com>2020-07-02 13:50:28 -0400
commit05f8cba1b63629737749d8c6f34c6456fb3b105d (patch)
tree48ebdba13799fbbcda0797d7b5506c0a30d95363 /nixos/modules/tasks/filesystems/zfs.nix
parentc128229dcea2936080974f5d00341c59deab69fa (diff)
downloadnixpkgs-05f8cba1b63629737749d8c6f34c6456fb3b105d.tar
nixpkgs-05f8cba1b63629737749d8c6f34c6456fb3b105d.tar.gz
nixpkgs-05f8cba1b63629737749d8c6f34c6456fb3b105d.tar.bz2
nixpkgs-05f8cba1b63629737749d8c6f34c6456fb3b105d.tar.lz
nixpkgs-05f8cba1b63629737749d8c6f34c6456fb3b105d.tar.xz
nixpkgs-05f8cba1b63629737749d8c6f34c6456fb3b105d.tar.zst
nixpkgs-05f8cba1b63629737749d8c6f34c6456fb3b105d.zip
ZFS: Pipe /dev/null into the stage 2 load-key script
Just in case something reads stdin, so that `while read ds kl` doesn't
miss anything
Diffstat (limited to 'nixos/modules/tasks/filesystems/zfs.nix')
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix4
1 files changed, 2 insertions, 2 deletions
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 3cdfcebe1b0..0d2f624a455 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -521,7 +521,7 @@ in
               if poolImported "${pool}"; then
                 ${optionalString cfgZfs.requestEncryptionCredentials ''
                   ${packages.zfsUser}/sbin/zfs list -rHo name,keylocation ${pool} | while read ds kl; do
-                    case "$kl" in
+                    (case "$kl" in
                       none )
                         ;;
                       prompt )
@@ -530,7 +530,7 @@ in
                       * )
                         ${packages.zfsUser}/sbin/zfs load-key "$ds"
                         ;;
-                      esac
+                    esac) < /dev/null # To protect while read ds kl in case anything reads stdin
                   done
                 ''}
                 echo "Successfully imported ${pool}"