rc.nfsd: support user-defined config settings

This commit is contained in:
Tom Mortensen
2025-01-08 00:46:16 -08:00
parent 8b9194e8b8
commit afa025c3a6
2 changed files with 14 additions and 11 deletions

View File

@@ -52,6 +52,7 @@ rm -rf /kernel
# Ensure required config directories exist
# these will all have permissions 0700
CONFIG="/boot/config"
mkdir -p $CONFIG/default
mkdir -p $CONFIG/modprobe.d
mkdir -p $CONFIG/plugins/dockerMan
mkdir -p $CONFIG/plugins/dynamix/users

View File

@@ -18,9 +18,10 @@ NFSD="/usr/sbin/rpc.nfsd"
EXPORTFS="/usr/sbin/exportfs"
RQUOTAD="/usr/sbin/rpc.rquotad"
MOUNTD="/usr/sbin/rpc.mountd"
OPTIONS="-u -s"
RPC="/etc/default/rpc"
NFS="/etc/default/nfs"
RPC_CFG="/boot/config/default/rpc"
NFS_CFG="/boot/config/default/nfs"
# run & log functions
. /etc/rc.d/rc.runlog
@@ -28,14 +29,19 @@ NFS="/etc/default/nfs"
# library functions
. /etc/rc.d/rc.library.source
# source default settings:
[[ -r $NFS ]] && . $NFS
[[ -r $NFS_CFG ]] && . $NFS_CFG
[[ -r $RPC ]] && . $RPC
[[ -r $RPC_CFG ]] && . $RPC_CFG
# get bind addresses
if check && [[ -n $BIND ]]; then
RPC_NFSD_OPTS="$OPTIONS -H ${BIND// / -H }"
RPC_NFSD_BIND="-H ${BIND// / -H }"
sed -ri "s/^(RPC_NFSD_BIND)=.*/\1=\"$RPC_NFSD_BIND\"/" $NFS 2>/dev/null
fi
# source default settings:
[[ -r $RPC ]] && . $RPC
nfsd_running(){
sleep 0.1
ps axc | grep -q rpc.mountd
@@ -81,13 +87,9 @@ nfsd_start(){
[[ -n $RPC_RQUOTAD_PORT ]] && RPC_RQUOTAD_OPTS="$RPC_RQUOTAD_OPTS -p $RPC_RQUOTAD_PORT"
run $RQUOTAD $RPC_RQUOTAD_OPTS
fi
# update default settings
sed -ri "s/^(RPC_NFSD_OPTS)=.*/\1=\"$RPC_NFSD_OPTS\"/" $NFS 2>/dev/null
[[ -r $NFS ]] && . $NFS
# start nfsd servers - 8 if not set extrawise (an old Sun standard):
# start nfsd servers
if [[ -x $NFSD ]]; then
[[ -z $RPC_NFSD_COUNT ]] && RPC_NFSD_COUNT=8
run $NFSD $RPC_NFSD_OPTS $RPC_NFSD_COUNT
run $NFSD $RPC_NFSD_VERS $RPC_NFSD_XPORT $RPC_NFSD_BIND $RPC_NFSD_OPTS $RPC_NFSD_COUNT
fi
if [[ -x $MOUNTD ]]; then
[[ -n $RPC_MOUNTD_PORT ]] && RPC_MOUNTD_OPTS="$RPC_MOUNTD_OPTS -p $RPC_MOUNTD_PORT"