2002-06-14 00:14:37 +02:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# $FreeBSD$
|
|
|
|
#
|
|
|
|
|
|
|
|
# PROVIDE: nfsclient
|
|
|
|
# REQUIRE: NETWORKING mountcritremote rpcbind
|
2004-10-07 15:55:26 +02:00
|
|
|
# KEYWORD: nojail shutdown
|
2002-06-14 00:14:37 +02:00
|
|
|
|
|
|
|
. /etc/rc.subr
|
|
|
|
|
|
|
|
name="nfsclient"
|
2016-04-23 18:10:54 +02:00
|
|
|
desc="NFS client setup"
|
2002-06-14 00:14:37 +02:00
|
|
|
rcvar="nfs_client_enable"
|
|
|
|
start_cmd="nfsclient_start"
|
|
|
|
stop_cmd="unmount_all"
|
2011-06-11 23:14:22 +02:00
|
|
|
required_modules="nfscl:nfs"
|
2002-06-14 00:14:37 +02:00
|
|
|
|
|
|
|
nfsclient_start()
|
|
|
|
{
|
|
|
|
#
|
|
|
|
# Set some nfs client related sysctls
|
|
|
|
#
|
|
|
|
|
|
|
|
if [ -n "${nfs_access_cache}" ]; then
|
2009-10-11 00:17:03 +02:00
|
|
|
check_startmsgs &&
|
|
|
|
echo "NFS access cache time=${nfs_access_cache}"
|
2008-07-05 17:13:21 +02:00
|
|
|
if ! sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null; then
|
|
|
|
warn "failed to set access cache timeout"
|
|
|
|
fi
|
2002-06-14 00:14:37 +02:00
|
|
|
fi
|
|
|
|
if [ -n "${nfs_bufpackets}" ]; then
|
2008-07-05 17:13:21 +02:00
|
|
|
if ! sysctl vfs.nfs.bufpackets=${nfs_bufpackets} > /dev/null; then
|
|
|
|
warn "failed to set vfs.nfs.bufpackets"
|
|
|
|
fi
|
2002-06-14 00:14:37 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
unmount_all
|
|
|
|
}
|
|
|
|
|
|
|
|
unmount_all()
|
|
|
|
{
|
|
|
|
# If /var/db/mounttab exists, some nfs-server has not been
|
|
|
|
# successfully notified about a previous client shutdown.
|
|
|
|
# If there is no /var/db/mounttab, we do nothing.
|
|
|
|
if [ -f /var/db/mounttab ]; then
|
|
|
|
rpc.umntall -k
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
load_rc_config $name
|
|
|
|
run_rc_command "$1"
|