f0a011a1b1
/etc/rc.d. They use the following new rc variables: nfsv4_server_enable - set to "YES" to run the experimental server nfsuserd_enable - set to "YES" to run nfsuserd for NFSv4 client and server nfsuserd_flags - command line flags for nfsuserd nfscbd_enable - set to "YES" to run the experimental nfs client's NFSv4 callback daemon nfscbd_flags - command line flags for nfscbd Reviewed by: dougb Approved by: kib (mentor)
61 lines
1.1 KiB
Bash
Executable File
61 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: nfsd
|
|
# REQUIRE: mountd hostname gssd nfsuserd
|
|
# KEYWORD: nojail shutdown
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="nfsd"
|
|
rcvar=`set_rcvar nfs_server`
|
|
command="/usr/sbin/${name}"
|
|
|
|
load_rc_config $name
|
|
start_precmd="nfsd_precmd"
|
|
sig_stop="USR1"
|
|
|
|
nfsd_precmd()
|
|
{
|
|
if checkyesno nfsv4_server_enable; then
|
|
# If nfsv4_server_enable is yes, force use
|
|
# of the experimental server
|
|
#
|
|
rc_flags="-e ${nfs_server_flags}"
|
|
|
|
if ! checkyesno nfsuserd_enable && \
|
|
! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
|
|
then
|
|
force_depend nfsuserd || return 1
|
|
fi
|
|
else
|
|
rc_flags="${nfs_server_flags}"
|
|
|
|
if ! sysctl vfs.nfsrv >/dev/null 2>&1; then
|
|
force_depend nfsserver || return 1
|
|
fi
|
|
|
|
if checkyesno nfs_reserved_port_only; then
|
|
echo 'NFS on reserved port only=YES'
|
|
sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
|
|
fi
|
|
fi
|
|
|
|
if ! checkyesno rpcbind_enable && \
|
|
! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
|
|
then
|
|
force_depend rpcbind || return 1
|
|
fi
|
|
|
|
if ! checkyesno mountd_enable && \
|
|
! /etc/rc.d/mountd forcestatus 1>/dev/null 2>&1
|
|
then
|
|
force_depend mountd || return 1
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
run_rc_command "$1"
|