Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jul 2001 23:27:47 +0100
From:      Ian Dowse <iedowse@maths.tcd.ie>
To:        tlambert2@mindspring.com
Cc:        mjacob@feral.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Default retry behaviour for mount_nfs 
Message-ID:   <200107202327.aa64363@salmon.maths.tcd.ie>
In-Reply-To: Your message of "Fri, 20 Jul 2001 09:29:42 PDT." <3B585C76.696F1E2A@mindspring.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <3B585C76.696F1E2A@mindspring.com>, Terry Lambert writes:
>> FWIW, I vote that we rever to the traditional default and require
>> -R1 or -b to avoid boot time hangs. The standard behaviour for most
>> NFS implementations that I'm aware of would do this.
>
>I agree; people at work have bitched about this.  We have a
>FreeBSD NFS server that's flakey.

Ok, from the small set of responses so far, it seems that the most
acceptable option is to change mount_nfs to behave in the old way
where it will retry forever by default even in foreground mode.
Below is a proposed patch that does this. It also adds two paragraphs
near the start of the manpage which describe the default behaviour
and point readers at the relevant options. Comments welcome.

>The other thing is that it appears to break amd behaviour.

Does amd use mount_nfs(8)? I thought it did the mount syscalls
directly.

Ian


Index: mount_nfs.8
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sbin/mount_nfs/mount_nfs.8,v
retrieving revision 1.27
diff -u -r1.27 mount_nfs.8
--- mount_nfs.8	2001/07/19 21:11:48	1.27
+++ mount_nfs.8	2001/07/20 22:20:35
@@ -71,6 +71,28 @@
 .%T "NFS: Network File System Version 3 Protocol Specification" ,
 Appendix I.
 .Pp
+By default,
+.Nm
+keeps retrying until the mount eventually succeeds.
+This behaviour is intended for filesystems listed in
+.Xr fstab 5
+that are critical to the boot process.
+For non-critical filesystems, the
+.Fl R
+and
+.Fl b
+flags provide mechanisms to prevent the boot process from hanging
+if the server is unavailable.
+.Pp
+If the server becomes unresponsive while an NFS filesystem is
+mounted, any new or outstanding file operations on that filesystem
+will hang uninterruptibly until the server comes back.
+To modify this default behaviour, see the
+.Fl i
+and
+.Fl s
+flags.
+.Pp
 The options are:
 .Bl -tag -width indent
 .It Fl 2
@@ -126,12 +148,8 @@
 help, but for normal desktop clients this does not apply.)
 .It Fl R
 Set the mount retry count to the specified value.
-A retry count of zero means to keep retrying forever.
-By default,
-.Nm
-retries forever on background mounts (see the
-.Fl b
-option), and otherwise tries just once.
+The default is a retry count of zero, which means to keep retrying
+forever.
 There is a 60 second delay between each attempt.
 .It Fl T
 Use TCP transport instead of UDP.
Index: mount_nfs.c
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sbin/mount_nfs/mount_nfs.c,v
retrieving revision 1.45
diff -u -r1.45 mount_nfs.c
--- mount_nfs.c	2001/07/19 21:11:48	1.45
+++ mount_nfs.c	2001/07/20 21:37:19
@@ -486,7 +486,8 @@
 	name = *argv;
 
 	if (retrycnt == -1)
-		retrycnt = (opflags & BGRND) ? 0 : 1;
+		/* The default is to keep retrying forever. */
+		retrycnt = 0;
 	if (!getnfsargs(spec, nfsargsp))
 		exit(1);
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200107202327.aa64363>