[Pkg-sysvinit-devel] Bug#433119: nfs-common: NFS volume no longer mounted on boot
Steinar H. Gunderson
sgunderson at bigfoot.com
Sat Jul 14 16:46:45 UTC 2007
On Sat, Jul 14, 2007 at 06:17:13PM +0200, Frans Pop wrote:
> I'm not all that interested in what the right long-term fix is, I'm
> concerned about a change in nfs-common breaking something semi essential
> that has worked for ages, accidentally or not.
I'm a bit unsure why this suddenly started going to debian-devel; I'm Cc-ing
the bug again, at least.
> If something like that is reported, IMHO the only correct course of action
> is first to make sure that the breakage is fixed, and then to start
> talking with maintainers of other involved packages about the correct
> structural fix and migration path, and only implementing your own change
> again _after_ other packages have made the necessary modifications.
The question here is: When initscripts is broken, and a new version of
nfs-common exposes that breakage, what is the right course of action? I'd say
it is to fix initscripts. Note that this is not a simple code change in
nfs-utils; it is a major move of functionality from one code base
(util-linux) to a different one (nfs-utils).
Try this patch:
diff -u sysvinit-2.86.ds1/debian/initscripts/etc/network/if-up.d/mountnfs sysvinit-2.86.ds1/debian/initscripts/etc/network/if-up.d/mountnfs
--- sysvinit-2.86.ds1/debian/initscripts/etc/network/if-up.d/mountnfs
+++ sysvinit-2.86.ds1/debian/initscripts/etc/network/if-up.d/mountnfs
@@ -27,10 +27,9 @@
exec 9<&0 </etc/fstab
- portmap=no
+ start_nfs=no
NETFS=""
NETDEV=""
- gss_or_idmap=no
while read DEV MTPT FSTYPE OPTS REST
do
case "$DEV" in
@@ -48,18 +47,7 @@
esac
case "$FSTYPE" in
nfs|nfs4)
- case "$OPTS" in
- nolock|*,nolock|nolock,*|*,nolock,*)
- ;;
- *)
- portmap=yes
- ;;
- esac
- case "$OPTS" in
- sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
- gss_or_idmap=yes
- ;;
- esac
+ start_nfs=yes
;;
smbfs|cifs|coda|ncp|ncpfs|ocfs2|gfs)
;;
@@ -77,39 +65,16 @@
;;
esac
fi
- if [ "$FSTYPE" = "nfs4" ]
- then
- gss_or_idmap=yes
- fi
done
exec 0<&9 9<&-
#
- # With contemporary portmap packages it is no longer necessary
- # to start portmap here because the package has its own initscript.
- # This code will disappear after etch.
- #
- if [ "$portmap" = yes ]
- then
- if [ -x /sbin/portmap ] && ! pidof portmap >/dev/null 2>&1
- then
- if [ -x /etc/init.d/portmap ]
- then
- /etc/init.d/portmap start
- else
- start-stop-daemon --start --quiet --oknodo --exec /sbin/portmap
- sleep 1 # FIXME: Actually synchronize with the process?
- fi
- fi
- fi
-
- #
- # Initialize nfs-common (which starts rpc.gssd and/or
- # rpc.idmapd, and loads the right kernel modules if
+ # Initialize nfs-common (which starts rpc.statd, rpc.gssd
+ # and/or rpc.idmapd, and loads the right kernel modules if
# applicable) if we use Kerberos and/or NFSv4 mounts.
#
- if [ "$gss_or_idmap" = yes ] && [ -x /etc/init.d/nfs-common ]
+ if [ "$start_nfs" = yes ] && [ -x /etc/init.d/nfs-common ]
then
/etc/init.d/nfs-common start
fi
/* Steinar */
--
Homepage: http://www.sesse.net/
More information about the Pkg-sysvinit-devel
mailing list