diff options
author | Svein Ove Aas <sveina@gmail.com> | 2016-07-13 01:18:48 +0100 |
---|---|---|
committer | Svein Ove Aas <sveina@gmail.com> | 2016-08-16 01:45:02 +0100 |
commit | 98b213a11041af39b39473906b595290e2a4e2f9 (patch) | |
tree | 7d97a3e3b62f82f67a897cc92ee0663495496524 /nixos/modules/tasks/filesystems | |
parent | 52a875fb2329c55070e86e3f85f1d788df10c2c5 (diff) | |
download | nixlib-98b213a11041af39b39473906b595290e2a4e2f9.tar nixlib-98b213a11041af39b39473906b595290e2a4e2f9.tar.gz nixlib-98b213a11041af39b39473906b595290e2a4e2f9.tar.bz2 nixlib-98b213a11041af39b39473906b595290e2a4e2f9.tar.lz nixlib-98b213a11041af39b39473906b595290e2a4e2f9.tar.xz nixlib-98b213a11041af39b39473906b595290e2a4e2f9.tar.zst nixlib-98b213a11041af39b39473906b595290e2a4e2f9.zip |
zfs: Keep trying root import until it works
Works around #11003.
Diffstat (limited to 'nixos/modules/tasks/filesystems')
-rw-r--r-- | nixos/modules/tasks/filesystems/zfs.nix | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 05fd160f20b7..3149c860f301 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -247,8 +247,19 @@ in esac done ''] ++ (map (pool: '' - echo "importing root ZFS pool \"${pool}\"..." - zpool import -d ${cfgZfs.devNodes} -N $ZFS_FORCE "${pool}" + echo -n "importing root ZFS pool \"${pool}\"..." + trial=0 + until msg="$(zpool import -d ${cfgZfs.devNodes} -N $ZFS_FORCE '${pool}' 2>&1)"; do + sleep 0.25 + echo -n . + trial=$(($trial + 1)) + if [[ $trial -eq 60 ]]; then + echo + echo "$msg" + break + fi + done + echo '') rootPools)); }; |