Package: initramfs-tools
Version: 0.73d
Followup-For: Bug #377643

attached is a patch which should retry failed nfs mounts until sucess,
which is similar to the behaviour of in-kernel nfsroot (though i think
that has an incrementing sleep between retries).

please consider applying this patch, or a similar patch, as we don't
feel confident we can upload new ltsp packages without a reliable nfs
root option...

live well,
  vagrant
=== modified file 'scripts/nfs'
--- scripts/nfs 
+++ scripts/nfs 
@@ -2,17 +2,8 @@
 
 # FIXME This needs error checking
 
-# Paramter: Where the root should be mounted
-mountroot ()
+do_nfsmount ()
 {
-       [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-top"
-       run_scripts /scripts/nfs-top
-       [ "$quiet" != "y" ] && log_end_msg
-
-       modprobe -q nfs
-       # For DHCP
-       modprobe -q af_packet
-
        ipconfig ${DEVICE}
        . /tmp/net-${DEVICE}.conf
        if [ "x${NFSROOT}" = "xauto" ]; then
@@ -34,6 +25,25 @@
        fi
 
        nfsmount -o nolock ${roflag} ${NFSOPTS} ${NFSROOT} ${rootmnt}
+}
+
+# Paramter: Where the root should be mounted
+mountroot ()
+{
+       [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-top"
+       run_scripts /scripts/nfs-top
+       [ "$quiet" != "y" ] && log_end_msg
+
+       modprobe -q nfs
+       # For DHCP
+       modprobe -q af_packet
+
+       while true ; do
+               do_nfsmount && break
+               [ "$quiet" != "y" ] && log_begin_msg "Retrying nfs mount"
+               [ "$quiet" != "y" ] && log_end_msg
+               sleep
+       done
 
        [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-bottom"
        run_scripts /scripts/nfs-bottom

Reply via email to