From owner-freebsd-bugs@FreeBSD.ORG Sun Sep 10 10:40:25 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DFF5716A403 for ; Sun, 10 Sep 2006 10:40:24 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 64C0E43D58 for ; Sun, 10 Sep 2006 10:40:23 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k8AAeNoM024562 for ; Sun, 10 Sep 2006 10:40:23 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k8AAeNi8024558; Sun, 10 Sep 2006 10:40:23 GMT (envelope-from gnats) Resent-Date: Sun, 10 Sep 2006 10:40:23 GMT Resent-Message-Id: <200609101040.k8AAeNi8024558@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Dominic Fandrey Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C6DCD16A412 for ; Sun, 10 Sep 2006 10:32:27 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 915E243D49 for ; Sun, 10 Sep 2006 10:32:27 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k8AAWR2s085567 for ; Sun, 10 Sep 2006 10:32:27 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k8AAWRKc085566; Sun, 10 Sep 2006 10:32:27 GMT (envelope-from nobody) Message-Id: <200609101032.k8AAWRKc085566@www.freebsd.org> Date: Sun, 10 Sep 2006 10:32:27 GMT From: Dominic Fandrey To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: misc/103089: [sbin/mount_nfs] introduce new option X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Sep 2006 10:40:25 -0000 >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: