198184Sgordon#!/bin/sh 298184Sgordon# 398184Sgordon# $FreeBSD$ 498184Sgordon# 598184Sgordon 698184Sgordon# PROVIDE: nfsclient 798184Sgordon# REQUIRE: NETWORKING mountcritremote rpcbind 8136224Smtm# KEYWORD: nojail shutdown 998184Sgordon 1098184Sgordon. /etc/rc.subr 1198184Sgordon 1298184Sgordonname="nfsclient" 1398184Sgordonrcvar="nfs_client_enable" 1498184Sgordonstart_cmd="nfsclient_start" 1598184Sgordonstop_cmd="unmount_all" 16222993Srmacklemrequired_modules="nfscl:nfs" 1798184Sgordon 1898184Sgordonnfsclient_start() 1998184Sgordon{ 2098184Sgordon # 2198184Sgordon # Set some nfs client related sysctls 2298184Sgordon # 2398184Sgordon 2498184Sgordon if [ -n "${nfs_access_cache}" ]; then 25197947Sdougb check_startmsgs && 26197947Sdougb echo "NFS access cache time=${nfs_access_cache}" 27180294Smtm if ! sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null; then 28180294Smtm warn "failed to set access cache timeout" 29180294Smtm fi 3098184Sgordon fi 3198184Sgordon if [ -n "${nfs_bufpackets}" ]; then 32180294Smtm if ! sysctl vfs.nfs.bufpackets=${nfs_bufpackets} > /dev/null; then 33180294Smtm warn "failed to set vfs.nfs.bufpackets" 34180294Smtm fi 3598184Sgordon fi 3698184Sgordon 3798184Sgordon unmount_all 3898184Sgordon} 3998184Sgordon 4098184Sgordonunmount_all() 4198184Sgordon{ 4298184Sgordon # If /var/db/mounttab exists, some nfs-server has not been 4398184Sgordon # successfully notified about a previous client shutdown. 4498184Sgordon # If there is no /var/db/mounttab, we do nothing. 4598184Sgordon if [ -f /var/db/mounttab ]; then 4698184Sgordon rpc.umntall -k 4798184Sgordon fi 4898184Sgordon} 4998184Sgordonload_rc_config $name 5098184Sgordonrun_rc_command "$1" 51