diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 05fd160f20b..3149c860f30 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)); };