Files
Rick Macklem 8ee0a615cb nfsclient: Add a new nfs_client_rdma_enable variable
This patch adds a new nfs_client_rdma_enable variable
to /etc/rc.d/nfsclient to enable the client side of
NFS over RDMA.  The client side of NFS over RDMA
requires the nfsclrdma.ko module, which is still under
test/review.

I wanted to get the "glue" into main so that others
could test the module more easily.  Avaliability of
the module will be announced on freebsd-current@ soon.

It should not affect non-RDMA operation.

I've specified a long MFC, since the module still
requires extensive testing and, hopefully, a review.

MFC after:	3 months
2026-08-30 15:11:08 -07:00

57 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
#
#
# PROVIDE: nfsclient
# REQUIRE: NETWORKING mountcritremote rpcbind
# KEYWORD: nojail shutdown
. /etc/rc.subr
name="nfsclient"
desc="NFS client setup"
rcvar="nfs_client_enable"
start_cmd="nfsclient_start"
stop_cmd="unmount_all"
required_modules="nfscl:nfs"
nfsclient_start()
{
#
# Set some nfs client related sysctls
#
if [ -n "${nfs_access_cache}" ]; then
startmsg "NFS access cache time=${nfs_access_cache}"
if ! sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null; then
warn "failed to set access cache timeout"
fi
fi
if [ -n "${nfs_bufpackets}" ]; then
if ! sysctl vfs.nfs.bufpackets=${nfs_bufpackets} > /dev/null; then
warn "failed to set vfs.nfs.bufpackets"
fi
fi
if checkyesno nfs_client_rdma_enable; then
load_kld nfsclrdma || err 1 "Cannot load nfsclrdma"
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
# no unmounting in svcj
nfsclient_svcj="NO"
run_rc_command "$1"