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