]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - etc/redhat/nfs.init
Fix a typo.
[nfs-utils.git] / etc / redhat / nfs.init
index a00bd306721d27caf043e6f06a222fb68f2d366f..c1b98eab3634f96b47c340908d9a9ab61ef08418 100755 (executable)
@@ -29,28 +29,40 @@ fi
 
 # Number of servers to be started up by default
 RPCNFSDCOUNT=8
-# No NFS V3.
-RPCMOUNTDOPTS="--no-nfs-version 3"
+# Default to NFS version 3.
+RPCMOUNTDOPTS=""
 
 # See how we were called.
 case "$1" in
   start)
        # Start daemons.
+       action "Starting NFS services: " /usr/sbin/exportfs -r
        echo -n "Starting NFS quotas: "
        daemon rpc.rquotad
        echo
-       echo -n "Starting NFS mountd: "
-       daemon rpc.mountd $RPCMOUNTDOPTS
-       echo
        echo -n "Starting NFS daemon: "
        daemon rpc.nfsd $RPCNFSDCOUNT
        echo
-       action "Starting NFS services: " /usr/sbin/exportfs -r
+
+       # Let's see if we support NFS version 3.
+       /usr/sbin/rpcinfo -u localhost nfs 3 &>/dev/null
+       if [ $? -ne 0 ]; then
+               RPCMOUNTDOPTS="--no-nfs-version 3"
+       fi
+
+       # Let's see if we support NFS over TCP.
+       /usr/sbin/rpcinfo -p localhost | grep nfs | grep tcp &>/dev/null
+       if [ $? -ne 0 ]; then
+               RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-tcp"
+       fi
+
+       echo -n "Starting NFS mountd: "
+       daemon rpc.mountd $RPCMOUNTDOPTS
+       echo
        touch /var/lock/subsys/nfs
        ;;
   stop)
        # Stop daemons.
-       action "Shutting down NFS services: " /usr/sbin/exportfs -au
        echo -n "Shutting down NFS mountd: "
        killproc rpc.mountd
        echo
@@ -60,6 +72,9 @@ case "$1" in
        echo -n "Shutting down NFS quotas: "
        killproc rpc.rquotad
        echo
+       # Do it the last so that clients can still access the server
+       # when the server is running.
+       action "Shutting down NFS services: " /usr/sbin/exportfs -au
        rm -f /var/lock/subsys/nfs
        ;;
   status)