diff options
author | Ricardo M. Correia <rcorreia@wizy.org> | 2017-09-25 13:07:25 +0200 |
---|---|---|
committer | Ricardo M. Correia <rcorreia@wizy.org> | 2020-06-04 14:55:10 +0200 |
commit | e2341359953dcf1361c47e80d6ca3bdb83cfbdc6 (patch) | |
tree | 686983e922575b34c04c7a25f58cdb724a004182 /nixos/modules/system/boot | |
parent | 3327b9a385f5ec2e219bf93b48896772b3f66afc (diff) |
stage-1: retry mounting ZFS root a few times
This is a workaround for NixOS/nixpkgs#25383
Diffstat (limited to 'nixos/modules/system/boot')
-rw-r--r-- | nixos/modules/system/boot/stage-1-init.sh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 607aec87f01e5..0f6648b4dca77 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -370,12 +370,14 @@ mountFS() { mkdir -p "/mnt-root$mountPoint" - # For CIFS mounts, retry a few times before giving up. + # For ZFS and CIFS mounts, retry a few times before giving up. + # We do this for ZFS as a workaround for issue NixOS/nixpkgs#25383. local n=0 while true; do mount "/mnt-root$mountPoint" && break - if [ "$fsType" != cifs -o "$n" -ge 10 ]; then fail; break; fi + if [ \( "$fsType" != cifs -a "$fsType" != zfs \) -o "$n" -ge 10 ]; then fail; break; fi echo "retrying..." + sleep 1 n=$((n + 1)) done |