]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - etc/rc.d/nfsd
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / etc / rc.d / nfsd
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: nfsd
7 # REQUIRE: mountd hostname gssd nfsuserd
8 # KEYWORD: nojail shutdown
9
10 . /etc/rc.subr
11
12 name="nfsd"
13 rcvar=`set_rcvar nfs_server`
14 command="/usr/sbin/${name}"
15
16 load_rc_config $name
17 start_precmd="nfsd_precmd"
18 sig_stop="USR1"
19
20 nfsd_precmd()
21 {
22         if checkyesno nfsv4_server_enable; then
23                 # If nfsv4_server_enable is yes, force use
24                 # of the experimental server
25                 #
26                 rc_flags="-e ${nfs_server_flags}"
27
28                 if ! checkyesno nfsuserd_enable  && \
29                     ! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
30                 then
31                         force_depend nfsuserd || return 1
32                 fi
33         else
34                 rc_flags="${nfs_server_flags}"
35
36                 if ! sysctl vfs.nfsrv >/dev/null 2>&1; then
37                         force_depend nfsserver || return 1
38                 fi
39
40                 if checkyesno nfs_reserved_port_only; then
41                         echo 'NFS on reserved port only=YES'
42                         sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
43                 fi
44         fi
45
46         if ! checkyesno rpcbind_enable  && \
47             ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
48         then
49                 force_depend rpcbind || return 1
50         fi
51
52         if ! checkyesno mountd_enable  && \
53             ! /etc/rc.d/mountd forcestatus 1>/dev/null 2>&1
54         then
55                 force_depend mountd || return 1
56         fi
57         return 0
58 }
59
60 run_rc_command "$1"