walters / rpms / nfs-utils

Forked from rpms/nfs-utils 6 years ago
Clone
cvsdist c905793
#!/bin/sh
cvsdist c905793
#
cvsdist c905793
# nfslock       This shell script takes care of starting and stopping
cvsdist c905793
#               the NFS file locking service.
cvsdist c905793
#
cvsdist c905793
# chkconfig: 345 14 86
cvsdist c905793
# description: NFS is a popular protocol for file sharing across \
cvsdist c905793
#	       TCP/IP networks. This service provides NFS file \
cvsdist c905793
#	       locking functionality.
cvsdist c905793
# probe: true
cvsdist c905793
cvsdist c905793
# Source function library.
cvsdist c905793
. /etc/rc.d/init.d/functions
cvsdist c905793
cvsdist c905793
# Source networking configuration.
cvsdist c905793
if [ ! -f /etc/sysconfig/network ]; then
cvsdist c905793
    exit 0
cvsdist c905793
fi
cvsdist c905793
cvsdist c905793
. /etc/sysconfig/network
cvsdist c905793
cvsdist c905793
# Check that networking is up.
cvsdist c905793
[ ${NETWORKING} = "no" ] && exit 0
cvsdist c905793
cvsdist 71d63d6
KERNVER=`uname -r | awk -F . '{ print $1.$2 }'`
cvsdist 71d63d6
cvsdist 71d63d6
RETVAL=0
cvsdist 71d63d6
cvsdist 71d63d6
if [ "$KERNVER" -lt 24 ]; then
cvsdist 71d63d6
  [ -x /sbin/rpc.lockd ] || exit 0
cvsdist 71d63d6
fi
cvsdist c905793
[ -x /sbin/rpc.statd ] || exit 0
cvsdist c905793
cvsdist 71d63d6
start() {
cvsdist c905793
	# Start daemons.
cvsdist 71d63d6
	echo $"Starting NFS file locking services: "
cvsdist 71d63d6
	if [ "$KERNVER" -lt 24 ]; then
cvsdist 71d63d6
	  echo -n $"Starting NFS lockd: "
cvsdist 71d63d6
	  daemon rpc.lockd
cvsdist 71d63d6
	  echo
cvsdist 71d63d6
	fi  
cvsdist 71d63d6
	echo -n $"Starting NFS statd: "
cvsdist c905793
	daemon rpc.statd
cvsdist 71d63d6
	RETVAL=$?
cvsdist c905793
	echo
cvsdist 71d63d6
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/nfslock
cvsdist 71d63d6
	return $RETVAL
cvsdist 71d63d6
}
cvsdist 71d63d6
cvsdist 71d63d6
stop() {
cvsdist c905793
	# Stop daemons.
cvsdist 71d63d6
	echo $"Shutting down NFS file locking services: "
cvsdist 71d63d6
	if [ "$KERNVER" -lt 24 ]; then 
cvsdist 71d63d6
	   echo -n $"Shutting down NFS lockd: "
cvsdist 71d63d6
	   killproc lockd
cvsdist 71d63d6
	   echo
cvsdist 71d63d6
	fi
cvsdist 71d63d6
	echo -n $"Shutting down NFS statd: "
cvsdist c905793
	killproc rpc.statd
cvsdist 71d63d6
	RETVAL=0
cvsdist c905793
	echo
cvsdist 71d63d6
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nfslock
cvsdist 71d63d6
	return $RETVAL
cvsdist 71d63d6
}
cvsdist 71d63d6
cvsdist 71d63d6
# See how we were called.
cvsdist 71d63d6
case "$1" in
cvsdist 71d63d6
  start)
cvsdist 71d63d6
        start
cvsdist 71d63d6
	;;
cvsdist 71d63d6
  stop)
cvsdist 71d63d6
  	stop
cvsdist c905793
	;;
cvsdist c905793
  status)
cvsdist 71d63d6
        if [ "$KERNVER" -lt 24 ]; then
cvsdist 71d63d6
	  status lockd
cvsdist 71d63d6
	fi 
cvsdist c905793
	status rpc.statd
cvsdist c905793
	;;
cvsdist c905793
  restart)
cvsdist 71d63d6
        stop
cvsdist 71d63d6
	start
cvsdist c905793
	;;
cvsdist c905793
  probe)
cvsdist c905793
	if [ ! -f /var/lock/subsys/nfslock ] ; then
cvsdist c905793
	  echo start; exit 0
cvsdist c905793
	fi
cvsdist c905793
	/sbin/pidof rpc.statd >/dev/null 2>&1; STATD="$?"
cvsdist 71d63d6
	if [ "$KERNVER" -lt 24 ]; then 
cvsdist 71d63d6
	   /sbin/pidof lockd >/dev/null 2>&1; LOCKD="$?"
cvsdist 71d63d6
	else
cvsdist 71d63d6
	   LOCKD=0
cvsdist 71d63d6
	fi
cvsdist c905793
	if [ $STATD = 1 -o $LOCKD = 1 ] ; then
cvsdist c905793
	  echo restart; exit 0
cvsdist c905793
	fi
cvsdist c905793
	;;
cvsdist c905793
  *)
cvsdist 71d63d6
	echo $"Usage: $0 {start|stop|status|restart}"
cvsdist c905793
	exit 1
cvsdist c905793
esac
cvsdist c905793
cvsdist c905793
exit 0