]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/blob - etc/rc.d/mountd
MFC r298294
[FreeBSD/stable/8.git] / etc / rc.d / mountd
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: mountd
7 # REQUIRE: NETWORKING nfsserver rpcbind quota
8 # KEYWORD: nojail shutdown
9
10 . /etc/rc.subr
11
12 name="mountd"
13 rcvar="mountd_enable"
14 command="/usr/sbin/${name}"
15 pidfile="/var/run/${name}.pid"
16 required_files="/etc/exports"
17 start_precmd="mountd_precmd"
18 extra_commands="reload"
19
20 mountd_precmd()
21 {
22         force_depend rpcbind || return 1
23
24         # mountd flags will differ depending on rc.conf settings
25         #
26         if checkyesno nfs_server_enable ; then
27                 if checkyesno weak_mountd_authentication; then
28                         rc_flags="${mountd_flags} -n"
29                 fi
30         else
31                 if checkyesno mountd_enable; then
32                         checkyesno weak_mountd_authentication && rc_flags="-n"
33                 fi
34         fi
35
36         # If nfsv4_server_enable is yes, force use of the experimental
37         # server
38         #
39         if checkyesno nfsv4_server_enable; then
40                 rc_flags="-e ${rc_flags}"
41         fi
42
43         if checkyesno zfs_enable; then
44                 rc_flags="${rc_flags} /etc/exports /etc/zfs/exports"
45         fi
46
47         rm -f /var/db/mountdtab
48         ( umask 022 ; > /var/db/mountdtab ) ||
49             err 1 'Cannot create /var/db/mountdtab'
50 }
51
52 load_rc_config $name
53 run_rc_command "$1"