void-packages/templates/nfs-utils/files/nfsd

71 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# PROVIDE: nfsd
# REQUIRE: mountd
# KEYWORD: shutdown
$_rc_subr_loaded . /etc/rc.subr
name="nfsd"
rcvar=$name
command="/usr/sbin/rpc.nfsd"
start_cmd="nfsd_start_cmd"
stop_cmd="nfsd_stop_cmd"
status_cmd="nfsd_status_cmd"
pidfile="/var/run/${name}.pid"
nfsd_start_cmd()
{
#
# Load the nfsd module to make the mount call
# succeed.
#
modprobe -q nfsd
#
# By default start up 8 threads.
#
[ -z "${nfsd_flags}" ] && nfsd_flags="8"
# Check for /proc/fs/nfsd
if grep -qs nfsd /proc/filesystems ; then
if ! grep -qs "nfsd /proc/fs/nfsd" /proc/mounts ; then
mount -t nfsd -o nodev,noexec,nosuid nfsd /proc/fs/nfsd
fi
fi
${command} ${nfsd_flags}
echo $(pidof -o %PPID ${name}) > ${pidfile}
echo "Starting ${name}."
/usr/sbin/sm-notify ${smnotify_args}
}
nfsd_stop_cmd()
{
#
# Unexport all directories before.
#
exportfs -au
if [ -f ${pidfile} ]; then
PID=$(cat ${pidfile})
kill ${PID}
rm -f ${pidfile}
fi
echo "Stopped ${name}."
}
nfsd_status_cmd()
{
if [ ! -f ${pidfile} ]; then
echo "${name} is not running."
return 0
fi
PID=$(cat ${pidfile})
echo "${name} is running with PIDs: ${PID}"
}
load_rc_config $name
run_rc_command "$1"