X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=etc%2Fnodist%2Fnfs-server;h=f1648842da6b6986dcc9517a1926cd9286ae6f67;hb=2aa84c3f3e9fd8e5732045c48bbaa633250f25ee;hp=d95eadab78997a1ce51c0517d194a153828664ea;hpb=3c70715e64085e92ced46801ee47ac5c36d061d9;p=nfs-utils.git diff --git a/etc/nodist/nfs-server b/etc/nodist/nfs-server index d95eada..f164884 100755 --- a/etc/nodist/nfs-server +++ b/etc/nodist/nfs-server @@ -3,7 +3,7 @@ # independent fashion. # # description: starts and stops nfs server services -# chkconfig: 2345 99 01 +# chkconfig: 2345 60 20 # # Copyright (c) 2000-2001 Mission Critical Linux, Inc. # @@ -46,14 +46,38 @@ DESC="NFS kernel daemon" # Handle how we were called. case "$1" in start) + if [ -d /proc/fs/nfsd -a ! -f /proc/fs/nfsd/exports ] ; + then + /bin/mount -t nfsd nfsd /proc/fs/nfsd + fi echo -n "Exporting directories for $DESC..." $EXPORTFS -r echo "done." - if /usr/sbin/rpcinfo -u localhost nfs 3 &>/dev/null + echo -n "Starting $NFSD: " + startdaemon $PREFIX$NFSD $RPCNFSDCOUNT + + # Disable NFSv3 on mountd if we don't have NFSv3 + ClearAddr= + if [ -f /proc/net/rpc/auth.unix.ip/channel ] ; then + if grep -s 127.0.0.1 /proc/net/rpc/auth.unix.ip/content > /dev/null ; then + : address already known + else + echo nfsd 127.0.0.1 2147483647 localhost > /proc/net/rpc/auth.unix.ip/channel + ClearAddr= + fi + fi + rpcinfo -u localhost nfs 3 &>/dev/null + if [ "$?" != "0" ] then RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3" fi + if [ -n "$ClearAddr" ]; then + echo nfsd 127.0.0.1 1 > /proc/net/rpc/auth.unix.ip/channel + fi + + echo -n "Starting $MOUNTD: " + startdaemon $MOUNTD $RPCMOUNTDOPTS # Start rquotad if it is set if [ -n "$RQUOTAD" ] @@ -62,11 +86,6 @@ start) startdaemon $RQUOTAD fi - echo -n "Starting $MOUNTD: " - startdaemon $MOUNTD $RPCMOUNTDOPTS - echo -n "Starting $NFSD: " - startdaemon $PREFIX$NFSD $RPCNFSDCOUNT - # if this lock file doesn't exist, init won't even try to run # the shutdown script for this service on RedHat systems! # on non-RedHat systems, /var/lock/subsys may not exist. @@ -82,12 +101,14 @@ stop) echo "Unexporting directories for $DESC..." $EXPORTFS -au + if [ -f /proc/fs/nfsd/exports ] ; then /bin/umount -t nfsd nfsd /proc/fs/nfsd ; fi rm -f /var/lock/subsys/$SCRIPT_NAME echo "done." ;; restart) $0 stop + sleep 1 $0 start ;;