#!/bin/sh
#
# nfsd		This is a sample init file for knfsd when using sysvinit
#		as found in SINUX distribution.
#		Adapt as required when using a different init program.
#		This was plagiarized from MvS's init script for unfsd.
#

[ -x /usr/sbin/rpc.knfsd ] || exit 0
[ -x /usr/sbin/rpc.kmountd ] || exit 0
[ -x /usr/sbin/kexportfs ] || exit 0
[ -f /etc/exports ] || exit 0

# See how we were called.
case "$1" in
  start)
	if [ -f /var/lock/nfsd.lock ]; then echo "NFS services already started or stale lock remains." ; exit 0 ; fi
	# Start daemons.
	echo -n "Starting NFS services: "
	if rpcinfo -p >/dev/null 2>/dev/null ; then
		rm -f /var/lock/nfsd.portmap.kill
	else
		echo -n "portmap "
		portmap
		touch /var/lock/nfsd.portmap.kill
	fi
	echo -n "rpc.kmountd "
	rpc.kmountd
	echo "rpc.knfsd"
	rpc.knfsd
	echo "Loading kernel export table"
	kexportfs -a
	touch /var/lock/nfsd.lock
	;;
  stop)
	# Stop daemons.
	echo -n "Shutting down NFS services: rpc.kmountd "
	killall -TERM rpc.kmountd
	echo -n "rpc.knfsd "
	killall nfsd
	if [ -f /var/lock/nfsd.portmap.kill ] ; then
		echo -n "portmap"
		killall portmap
		rm -f /var/lock/nfsd.portmap.kill
	fi
	echo
	echo "Unloading kernel export table"
	kexportfs -u -a
	rm -f /var/lock/nfsd.lock
	;;
  *)
	echo "Usage: nfs {start|stop}"
	exit 1
	;;
esac

exit 0

