public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "William Hubbs" <williamh@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/openrc:openrc-0.10.x commit in: init.d/
Date: Sat, 15 Sep 2012 21:22:18 +0000 (UTC)	[thread overview]
Message-ID: <1347733591.46e871a40865aa43cc51dc6afb3b92f5cf012e76.WilliamH@OpenRC> (raw)

commit:     46e871a40865aa43cc51dc6afb3b92f5cf012e76
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Fri Sep 14 19:29:00 2012 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Sat Sep 15 18:26:31 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/openrc.git;a=commit;h=46e871a4

netmount: do not handle NFS mounts

Since nfs and nfs4 file systems require extra daemons to be running on
the client to function properly, netmount should not try to handle these
file systems.

Reported-by: <devurandom <AT> gmx.net>
X-Gentoo-Bug: 427996
X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=427996

---
 init.d/netmount.in |   88 +++++++++++++--------------------------------------
 1 files changed, 23 insertions(+), 65 deletions(-)

diff --git a/init.d/netmount.in b/init.d/netmount.in
index c03820e..4b6437e 100644
--- a/init.d/netmount.in
+++ b/init.d/netmount.in
@@ -2,83 +2,27 @@
 # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
 # Released under the 2-clause BSD license.
 
-description="Mounts network shares according to /etc/fstab."
-
-need_portmap()
-{
-	local opts=
-	local IFS="
-"
-	set -- $(fstabinfo --options --fstype nfs,nfs4)
-	for opts; do
-		case ,$opts, in
-			*,noauto,*|*,nolock,*);;
-			*) return 0;;
-		esac
-	done
-	return 1
-}
-
-need_idmap()
-{
-	local opts=
-	local IFS="
-"
-	set -- $(fstabinfo --options --fstype nfs4)
-	for opts; do
-		case ,$opts, in
-			*,noauto,*|*,nolock,*);;
-			*) return 0;;
-		esac
-	done
-	return 1
-}
+description="Mounts network shares, other than NFS, according to /etc/fstab."
+# We skip all NFS shares in this script because they require extra
+# daemons to be running on the client in order to work correctly.
+# It is best to allow nfs-utils to handle all nfs shares.
 
 depend()
 {
-	# Only have portmap as a dependency if there is a nfs mount in fstab
-	# that is set to mount at boot
-	local pmap=
-	if need_portmap; then
-		pmap="rpc.statd"
-		[ -x @SYSCONFDIR@/init.d/rpcbind ] \
-			&& pmap="$pmap rpcbind" \
-			|| pmap="$pmap portmap"
-	fi
-
-	# Only have rpc.idmapd as a dependency if there is a nfs4 mount in fstab
-	# that is set to mount at boot
-	if need_idmap; then
-		pmap="$pmap rpc.idmapd"
-	fi
-
 	config /etc/fstab
-	need net $pmap
+	need net
 	use afc-client amd autofs openvpn
-	use dns nfs nfsmount portmap rpcbind rpc.statd rpc.lockd
+	use dns
 	keyword -jail -vserver
 }
 
 start()
 {
-	local myneed= myuse= pmap="portmap" nfsmounts=
-	[ -x @SYSCONFDIR@/init.d/rpcbind ] && pmap="rpcbind"
-
 	local x= fs= rc=
 	for x in $net_fs_list $extra_net_fs_list; do
 		case "$x" in
 			nfs|nfs4)
-			# If the nfsmount script took care of the nfs
-			# filesystems, then there's no point in trying
-			# them twice
-			service_started nfsmount && continue
-
-			# Only try to mount NFS filesystems if portmap was
-			# started. This is to fix "hang" problems for new
-			# users who do not add portmap to the default runlevel.
-			if need_portmap && ! service_started "$pmap"; then
-				continue
-			fi
+			continue
 			;;
 		esac
 		fs="$fs${fs:+,}$x"
@@ -103,7 +47,14 @@ stop()
 	. "$RC_LIBEXECDIR"/sh/rc-mount.sh
 
 	for x in $net_fs_list $extra_net_fs_list; do
-		fs="$fs${fs:+,}$x"
+		case "$x" in
+			nfs|nfs4)
+				continue
+				;;
+			*)
+				fs="$fs${fs:+,}$x"
+				;;
+		esac
 	done
 	if [ -n "$fs" ]; then
 		umount -at $fs || eerror "Failed to simply unmount filesystems"
@@ -112,7 +63,14 @@ stop()
 	eindent
 	fs=
 	for x in $net_fs_list $extra_net_fs_list; do
-		fs="$fs${fs:+|}$x"
+		case "$x" in
+			nfs|nfs4)
+				continue
+				;;
+			*)
+				fs="$fs${fs:+|}$x"
+				;;
+		esac
 	done
 	[ -n "$fs" ] && fs="^($fs)$"
 	do_unmount umount ${fs:+--fstype-regex} $fs --netdev


             reply	other threads:[~2012-09-15 21:22 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-15 21:22 William Hubbs [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-09-10 20:57 [gentoo-commits] proj/openrc:openrc-0.10.x commit in: init.d/ William Hubbs
2012-09-10  0:17 William Hubbs
2012-09-10  0:17 William Hubbs
2012-09-10  0:17 William Hubbs
2012-09-10  0:17 William Hubbs
2012-05-27 15:23 William Hubbs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1347733591.46e871a40865aa43cc51dc6afb3b92f5cf012e76.WilliamH@OpenRC \
    --to=williamh@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox