Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Sep 2006 10:32:27 GMT
From:      Dominic Fandrey <lon_kamikaze@gmx.de>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/103089: [sbin/mount_nfs] introduce new option
Message-ID:  <200609101032.k8AAWRKc085566@www.freebsd.org>
Resent-Message-ID: <200609101040.k8AAeNi8024558@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         103089
>Category:       misc
>Synopsis:       [sbin/mount_nfs] introduce new option
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 10 10:40:22 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Dominic Fandrey
>Release:        Releng_6
>Organization:
private
>Environment:
FreeBSD mobileKamikaze.norad 6.1-STABLE FreeBSD 6.1-STABLE #0: Sat Sep  9 17:31:18 CEST 2006     root@homeKamikaze.norad:/usr/obj/usr/src/sys/TPR40-6  i386
>Description:
In environments where a successful mount is rather unlikely (such as on a laptop) the use of the -b option is quite frustrating, because a failed attempt takes quite some time.

As an example I've got 4 nfs mounts in my fstab (with the -b option) and it delays booting by ~2 minutes, when I'm not in my home network, because a connection attempt takes a remarkable amount of time. This is why I added the -B option. Instead of waiting for the connection to the server to fail, it instantly forks (unless not already forked, which might be the case if someone added -B several times).

I suppose with only slight changes the patch could be applied to mount_nfs4 as well.
>How-To-Repeat:

>Fix:
diff -uPr sbin/mount_nfs.orig/mount_nfs.8 sbin/mount_nfs/mount_nfs.8
--- sbin/mount_nfs.orig/mount_nfs.8	Sun Sep 10 12:05:33 2006
+++ sbin/mount_nfs/mount_nfs.8	Sun Sep 10 12:16:00 2006
@@ -163,6 +163,11 @@
 Useful for
 .Xr fstab 5 ,
 where the file system mount is not critical to multiuser operation.
+.It Fl B
+Fork off a child immediately, even before the first attempt to contact the
+server. Useful for
+.Xr fstab 5 ,
+where notification about failiure is not desired.
 .It Fl c
 For UDP mount points, do not do a
 .Xr connect 2 .
diff -uPr sbin/mount_nfs.orig/mount_nfs.c sbin/mount_nfs/mount_nfs.c
--- sbin/mount_nfs.orig/mount_nfs.c	Sun Sep 10 12:05:33 2006
+++ sbin/mount_nfs/mount_nfs.c	Sun Sep 10 12:05:02 2006
@@ -278,6 +278,14 @@
 		case 'b':
 			opflags |= BGRND;
 			break;
+		case 'B':
+			opflags |= BGRND;
+			if ((opflags & (BGRND | ISBGRND)) == BGRND) {
+				opflags |= ISBGRND;
+				if (daemon(0, 0) != 0)
+					err(1, "daemon");
+			}
+			break;
 		case 'c':
 			nfsargsp->flags |= NFSMNT_NOCONN;
 			break;

>Release-Note:
>Audit-Trail:
>Unformatted:



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