nfsd revision 193354
12785Ssos#!/bin/sh
22785Ssos#
32785Ssos# $FreeBSD: head/etc/rc.d/nfsd 193354 2009-06-02 22:15:47Z rmacklem $
42785Ssos#
52785Ssos
62785Ssos# PROVIDE: nfsd
72785Ssos# REQUIRE: mountd hostname gssd nfsuserd
82785Ssos# KEYWORD: nojail shutdown
92785Ssos
102785Ssos. /etc/rc.subr
112785Ssos
122785Ssosname="nfsd"
132785Ssosrcvar=`set_rcvar nfs_server`
142785Ssoscommand="/usr/sbin/${name}"
152785Ssos
162785Ssosload_rc_config $name
172785Ssosstart_precmd="nfsd_precmd"
182785Ssossig_stop="USR1"
192785Ssos
202785Ssosnfsd_precmd()
212785Ssos{
222785Ssos	if checkyesno nfsv4_server_enable; then
232785Ssos		# If nfsv4_server_enable is yes, force use
242785Ssos		# of the experimental server
252785Ssos		#
262785Ssos		rc_flags="-e ${nfs_server_flags}"
272785Ssos
282785Ssos		if ! checkyesno nfsuserd_enable  && \
292785Ssos		    ! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
302785Ssos		then
312785Ssos			force_depend nfsuserd || return 1
322785Ssos		fi
332785Ssos	else
342785Ssos		rc_flags="${nfs_server_flags}"
352785Ssos
362785Ssos		if ! sysctl vfs.nfsrv >/dev/null 2>&1; then
372785Ssos			force_depend nfsserver || return 1
382785Ssos		fi
392785Ssos
402785Ssos		if checkyesno nfs_reserved_port_only; then
412785Ssos			echo 'NFS on reserved port only=YES'
422785Ssos			sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
432785Ssos		fi
442785Ssos	fi
452785Ssos
462785Ssos	if ! checkyesno rpcbind_enable  && \
472785Ssos	    ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
482785Ssos	then
492785Ssos		force_depend rpcbind || return 1
502785Ssos	fi
512785Ssos
522785Ssos	if ! checkyesno mountd_enable  && \
532785Ssos	    ! /etc/rc.d/mountd forcestatus 1>/dev/null 2>&1
542785Ssos	then
552785Ssos		force_depend mountd || return 1
562785Ssos	fi
572785Ssos	return 0
582785Ssos}
592785Ssos
602785Ssosrun_rc_command "$1"
612785Ssos