]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - etc/rc.d/nfsclient
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / etc / rc.d / nfsclient
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: nfsclient
7 # REQUIRE: NETWORKING mountcritremote rpcbind
8 # KEYWORD: nojail shutdown
9
10 . /etc/rc.subr
11
12 name="nfsclient"
13 rcvar="nfs_client_enable"
14 start_cmd="nfsclient_start"
15 stop_cmd="unmount_all"
16 required_modules="nfscl:nfs"
17
18 nfsclient_start()
19 {
20         #
21         # Set some nfs client related sysctls
22         #
23
24         if [ -n "${nfs_access_cache}" ]; then
25                 check_startmsgs &&
26                         echo "NFS access cache time=${nfs_access_cache}"
27                 if ! sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null; then
28                         warn "failed to set access cache timeout"
29                 fi
30         fi
31         if [ -n "${nfs_bufpackets}" ]; then
32                 if ! sysctl vfs.nfs.bufpackets=${nfs_bufpackets} > /dev/null; then
33                         warn "failed to set vfs.nfs.bufpackets"
34                 fi
35         fi
36
37         unmount_all
38 }
39
40 unmount_all()
41 {
42         # If /var/db/mounttab exists, some nfs-server has not been
43         # successfully notified about a previous client shutdown.
44         # If there is no /var/db/mounttab, we do nothing.
45         if [ -f /var/db/mounttab ]; then
46                 rpc.umntall -k
47         fi
48 }
49 load_rc_config $name
50 run_rc_command "$1"