X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=etc%2Fnodist%2Fnfs-server;h=f1648842da6b6986dcc9517a1926cd9286ae6f67;hb=2c91715a9c8dbf18df1666f70e78d6e36e123ca0;hp=77daaebaa6460f2546fa0162cf307e850bff8494;hpb=912b1f1584d17aea680d561296bff407ea2bb175;p=nfs-utils.git diff --git a/etc/nodist/nfs-server b/etc/nodist/nfs-server index 77daaeb..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,6 +46,10 @@ 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." @@ -53,10 +57,25 @@ start) echo -n "Starting $NFSD: " startdaemon $PREFIX$NFSD $RPCNFSDCOUNT - if /usr/sbin/rpcinfo -u localhost nfs 3 &>/dev/null + # 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 @@ -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 ;;