#!/bin/sh
#
# nfslock This shell script takes care of starting and stopping
-# the NFS file locking service.
+# the NSM status monitor - rpc.statd
#
# chkconfig: 345 14 82
-# description: NFS is a popular protocol for file sharing across \
-# TCP/IP networks. This service provides NFS file \
-# locking functionality.
+# description: The rpc.statd server implements the NSM \
+# (Network Status Monitor) RPC protocol. \
+# It is used by the NFS file locking service, lockd \
+# to implement lock recovery when the NFS server \
+# machine crashes and reboots.
# probe: true
# Source function library.
# Check that networking is up.
if is_yes "${NETWORKING}"; then
if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
- msg_network_down "NFS lockd"
+ msg_network_down "RPC statd"
exit 1
fi
else
[ -n "$STATD_OUTPORT" ] && STATDOPTS="$STATDOPTS -o $STATD_OUTPORT"
# Start daemons.
- if is_yes "$NFSv2" || is_yes "$NFSv3" ; then
- msg_starting "NFS statd"
- daemon rpc.statd $STATDOPTS
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nfslock
- else
- touch /var/lock/subsys/nfslock
- fi
+ # Don't put sm-notify here, statd will run it when started
+ msg_starting "RPC statd"
+ daemon rpc.statd $STATDOPTS
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nfslock
else
- msg_already_running "NFS statd"
+ msg_already_running "RPC statd"
fi
}
/sbin/sysctl -w fs.nfs.nlm_udpport=0 >/dev/null 2>&1
fi
# Stop daemons.
- if is_yes "$NFSv2" || is_yes "$NFSv3" ; then
- msg_stopping "NFS statd"
- killproc rpc.statd
- fi
+ msg_stopping "RPC statd"
+ killproc rpc.statd
rm -f /var/lock/subsys/nfslock
else
- msg_not_running "NFS statd"
+ msg_not_running "RPC statd"
fi
}
stop
;;
status)
- if is_yes "$NFSv2" || is_yes "$NFSv3" ; then
- status rpc.statd
- exit $?
- else
- echo "NFSv2 and NFSv3 disabled"
- exit 0
- fi
+ status rpc.statd
+ exit $?
;;
restart|force-reload)
stop
echo start
exit 0
fi
- if is_yes "$NFSv2" || is_yes "$NFSv3" ; then
- /sbin/pidof rpc.statd >/dev/null 2>&1; STATD="$?"
- if [ $STATD = 1 ]; then
- echo restart
- exit 0
- fi
- else
+ /sbin/pidof rpc.statd >/dev/null 2>&1; STATD="$?"
+ if [ $STATD = 1 ]; then
+ echo restart
exit 0
fi
;;