From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 31C40138010 for ; Sat, 15 Sep 2012 21:22:30 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 27423E032F; Sat, 15 Sep 2012 21:22:21 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id DB268E032F for ; Sat, 15 Sep 2012 21:22:20 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 205EC33D28F for ; Sat, 15 Sep 2012 21:22:20 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id CC2E7E5448 for ; Sat, 15 Sep 2012 21:22:18 +0000 (UTC) From: "William Hubbs" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "William Hubbs" Message-ID: <1347733591.46e871a40865aa43cc51dc6afb3b92f5cf012e76.WilliamH@OpenRC> Subject: [gentoo-commits] proj/openrc:openrc-0.10.x commit in: init.d/ X-VCS-Repository: proj/openrc X-VCS-Files: init.d/netmount.in X-VCS-Directories: init.d/ X-VCS-Committer: WilliamH X-VCS-Committer-Name: William Hubbs X-VCS-Revision: 46e871a40865aa43cc51dc6afb3b92f5cf012e76 X-VCS-Branch: openrc-0.10.x Date: Sat, 15 Sep 2012 21:22:18 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 3c6dfee0-1127-49ff-9f2b-6c209d6a80df X-Archives-Hash: 6b259d649cc2d6c4263cdd14096e0b0c commit: 46e871a40865aa43cc51dc6afb3b92f5cf012e76 Author: William Hubbs gmail com> AuthorDate: Fri Sep 14 19:29:00 2012 +0000 Commit: William Hubbs gentoo 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: 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 # 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