* etc/redhat/nfs: New.
* etc/redhat/nfs.init: Updated.
* nfs-utils.spec.in: Updated.
* nfs-utils.spec: Regenerated.
* utils/mountd/mountd.c (longopts): Fix a typo.
* utils/mountd/mountd.man: Updated.
+2002-04-08 H.J. Lu <hjl@lucon.org>
+
+ * etc/redhat/nfs: New.
+
+ * etc/redhat/nfs.init: Updated.
+
+ * nfs-utils.spec.in: Updated.
+ * nfs-utils.spec: Regenerated.
+
+ * utils/mountd/mountd.c (longopts): Fix a typo.
+
+ * utils/mountd/mountd.man: Updated.
+
2002-04-07 H.J. Lu <hjl@lucon.org>
* etc/redhat/nfslock.init (restart): Just do stop and start.
--- /dev/null
+# $Id: nfs,v 1.1 2002/04/08 21:43:24 hjl Exp $
+#
+# For more information on nfs tuning, please see the NFS-HOWTO
+# http://nfs.sourceforge.net/nfs-howto/
+
+# Pass any additional options for mountd.
+# MOUNTD_OPTIONS=
+
+# Pin mountd to a given port rather than random one from portmapper
+# MOUNTD_PORT=
+
+# Don't advertise TCP for mount.
+# MOUNTD_TCP=no
+
+# NFS V3
+# MOUNTD_NFS_V3=auto|yes|no
+
+# NFS V2
+# MOUNTD_NFS_V2=auto|yes|no
+
+# The number of open file descriptors
+# MOUNTD_OPEN_FILES=128
+
+# Pass the number of instances of nfsd (8 is default; 16 or more
+# might be needed to handle heavy client traffic)
+# NFSDCOUNT=8
+
+# Increase the memory limits on the socket input queues for
+# the nfs processes .. NFS benchmark SPECsfs demonstrate a
+# need for a larger than default size (64kb) .. setting
+# TUNE_QUEUE to yes will set the values to 256kb.
+# TUNE_QUEUE="yes"
+# NFS_QS=262144
# networks. This service provides NFS server functionality, \
# which is configured via the /etc/exports file.
# probe: true
-# config: /etc/sysconfig/nfsd
+# config: /etc/sysconfig/nfs
# Source function library.
. /etc/rc.d/init.d/functions
# Check for and source configuration file otherwise set defaults
# TUNE_QUEUE: controls whether to up the size of input queues
-NFSDCFG=/etc/sysconfig/nfsd
-if [ -f "$NFSDCFG" ]; then
- # Tune nfs server settings
- . "$NFSDCFG"
-else
- # Set some defaults
- TUNE_QUEUE="no"
- # Default to NFS version 3.
- RPCMOUNTDOPTS=""
-fi
+[ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
+
+[ -z "$MOUNTD_NFS_V2" ] && MOUNTD_NFS_V2=auto
+[ -z "$MOUNTD_NFS_V3" ] && MOUNTD_NFS_V3=auto
# Number of servers to be started by default
-[ -z "$RPCNFSDCOUNT" ] && RPCNFSDCOUNT=8
+[ -z "$NFSDCOUNT" ] && NFSDCOUNT=8
# Remote quota server
[ -z "$RQUOTAD" ] && RQUOTAD=`type -path rpc.rquotad`
if [ "$TUNE_QUEUE" = "yes" ]; then
RMEM_DEFAULT=`/sbin/sysctl -n net.core.rmem_default`
RMEM_MAX=`/sbin/sysctl -n net.core.rmem_max`
- WMEM_DEFAULT=`/sbin/sysctl -n net.core.wmem_default`
- WMEM_MAX=`/sbin/sysctl -n net.core.wmem_max`
# 256kb recommended minimum size based on SPECsfs NFS benchmarks
[ -z "$NFS_QS" ] && NFS_QS=262144
fi
if [ "$TUNE_QUEUE" = "yes" ]; then
/sbin/sysctl -w net.core.rmem_default=$NFSD_QS >/dev/null 2>&1
/sbin/sysctl -w net.core.rmem_max=$NFSD_QS >/dev/null 2>&1
- /sbin/sysctl -w net.core.wmem_default=$NFSD_QS >/dev/null 2>&1
- /sbin/sysctl -w net.core.wmem_max=$NFSD_QS >/dev/null 2>&1
fi
action "Starting NFS services: " /usr/sbin/exportfs -r
if [ -n "$RQUOTAD" -a "$RQUOTAD" != "no" ]; then
echo
fi
echo -n "Starting NFS daemon: "
- daemon rpc.nfsd $RPCNFSDCOUNT
+ daemon rpc.nfsd $NFSDCOUNT
echo
- if [ -z "$RPCMOUNTDOPTS" ]; then
+ [ -n "$MOUNTD_PORT" ] \
+ && MOUNTD_OPTIONS="$MOUNTD_OPTIONS -p $MOUNTD_PORT"
+ [ "$MOUNTD_TCP" = "no" -o "$MOUNTD_TCP" = "NO" ] \
+ && MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-tcp"
+
+ case $MOUNTD_NFS_V2 in
+ auto|AUTO)
+ # Let's see if we support NFS version 2.
+ /usr/sbin/rpcinfo -u localhost nfs 2 &>/dev/null
+ if [ $? -ne 0 ]; then
+ MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-nfs-version 2"
+ fi
+ ;;
+ no|NO)
+ MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-nfs-version 2"
+ ;;
+ yes|YES)
+ MOUNTD_OPTIONS="$MOUNTD_OPTIONS --nfs-version 2"
+ ;;
+ esac
+
+ case $MOUNTD_NFS_V3 in
+ auto|AUTO)
# Let's see if we support NFS version 3.
/usr/sbin/rpcinfo -u localhost nfs 3 &>/dev/null
if [ $? -ne 0 ]; then
- RPCMOUNTDOPTS="--no-nfs-version 3"
+ MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-nfs-version 3"
fi
- fi
+ ;;
+ no|NO)
+ MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-nfs-version 3"
+ ;;
+ yes|YES)
+ MOUNTD_OPTIONS="$MOUNTD_OPTIONS --nfs-version 3"
+ ;;
+ esac
echo -n "Starting NFS mountd: "
- daemon rpc.mountd $RPCMOUNTDOPTS
+ daemon rpc.mountd $MOUNTD_OPTIONS
echo
touch /var/lock/subsys/nfs
# reset input queue for rest of network services
if [ "$TUNE_QUEUE" = "yes" ]; then
/sbin/sysctl -w net.core.rmem_default=$RMEM_DEFAULT >/dev/null 2>&1
/sbin/sysctl -w net.core.rmem_max=$RMEM_MAX >/dev/null 2>&1
- /sbin/sysctl -w net.core.wmem_default=$WMEM_DEFAULT >/dev/null 2>&1
- /sbin/sysctl -w net.core.wmem_max=$WMEM_MAX >/dev/null 2>&1
fi
;;
stop)
mkdir -p $RPM_BUILD_ROOT/{/sbin,/usr/sbin}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/{man5,man8}
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
mkdir -p $RPM_BUILD_ROOT/var/lib/nfs
make install_prefix=$RPM_BUILD_ROOT MANDIR=$RPM_BUILD_ROOT%{_mandir} SBINDIR=$RPM_BUILD_ROOT%{_prefix}/sbin install
install -s -m 755 tools/rpcdebug/rpcdebug $RPM_BUILD_ROOT/sbin
install -m 755 etc/redhat/nfs.init $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
+install -m 755 etc/redhat/nfs $RPM_BUILD_ROOT/etc/sysconfig/nfs
install -m 755 etc/redhat/nfslock.init $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
touch $RPM_BUILD_ROOT/var/lib/nfs/rmtab
mv $RPM_BUILD_ROOT/usr/sbin/{rpc.lockd,rpc.statd} $RPM_BUILD_ROOT/sbin
%defattr(-,root,root)
%config /etc/rc.d/init.d/nfs
%dir /var/lib/nfs
+%config(noreplace) /etc/sysconfig/nfs
%config(noreplace) /var/lib/nfs/xtab
%config(noreplace) /var/lib/nfs/etab
%config(noreplace) /var/lib/nfs/rmtab
mkdir -p $RPM_BUILD_ROOT/{/sbin,/usr/sbin}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/{man5,man8}
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
mkdir -p $RPM_BUILD_ROOT/var/lib/nfs
make install_prefix=$RPM_BUILD_ROOT MANDIR=$RPM_BUILD_ROOT%{_mandir} SBINDIR=$RPM_BUILD_ROOT%{_prefix}/sbin install
install -s -m 755 tools/rpcdebug/rpcdebug $RPM_BUILD_ROOT/sbin
install -m 755 etc/redhat/nfs.init $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
+install -m 755 etc/redhat/nfs $RPM_BUILD_ROOT/etc/sysconfig/nfs
install -m 755 etc/redhat/nfslock.init $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
touch $RPM_BUILD_ROOT/var/lib/nfs/rmtab
mv $RPM_BUILD_ROOT/usr/sbin/{rpc.lockd,rpc.statd} $RPM_BUILD_ROOT/sbin
%defattr(-,root,root)
%config /etc/rc.d/init.d/nfs
%dir /var/lib/nfs
+%config(noreplace) /etc/sysconfig/nfs
%config(noreplace) /var/lib/nfs/xtab
%config(noreplace) /var/lib/nfs/etab
%config(noreplace) /var/lib/nfs/rmtab
static struct option longopts[] =
{
{ "foreground", 0, 0, 'F' },
- { "descriptors", 0, 0, 'o' },
+ { "descriptors", 1, 0, 'o' },
{ "debug", 1, 0, 'd' },
{ "help", 0, 0, 'h' },
{ "exports-file", 1, 0, 'f' },
.B \-P
Ignored (compatibility with unfsd??).
.TP
-.B \-p " or " \-\-port
+.B \-p " or " \-\-port num
Force
.B rpc.mountd
-to bind to the specified port, instead of using the random port
+to bind to the specified port num, instead of using the random port
number assigned by the portmapper.
.TP
.B \-V " or " \-\-nfs-version