svn commit: r227607 - stable/9/etc/rc.d
Dimitry Andric
dim at FreeBSD.org
Thu Nov 17 08:07:17 UTC 2011
Author: dim
Date: Thu Nov 17 08:07:16 2011
New Revision: 227607
URL: http://svn.freebsd.org/changeset/base/227607
Log:
MFC r227112:
Whenever you boot with nfsv4_server_enable=NO (the default) in rc.conf,
the /etc/rc.d/nfsd script sets vfs.nfsd.server_max_nfsvers to 3.
Then, when you set nfsv4_server_enable=YES in rc.conf, and restart nfsd
via the rc.d script, without rebooting, the sysctl does *not* get reset
to max version 4, so NFSv4 still doesn't work.
Fix this by explicitly setting vfs.nfsd.server_max_nfsvers to 4 when
NFSv4 is requested.
I also added resetting of the nfs_privport sysctls, since this has the
same issue: nfs_reserved_port_only=YES in rc.conf sets the nfs_privport
sysctl to 1, but in the other case, the sysctl doesn't get reset to 0.
Reviewed by: rmacklem
Silence from: rc@
Approved by: re (kib)
Modified:
stable/9/etc/rc.d/nfsd
Directory Properties:
stable/9/etc/ (props changed)
Modified: stable/9/etc/rc.d/nfsd
==============================================================================
--- stable/9/etc/rc.d/nfsd Thu Nov 17 06:54:49 2011 (r227606)
+++ stable/9/etc/rc.d/nfsd Thu Nov 17 08:07:16 2011 (r227607)
@@ -29,6 +29,8 @@ nfsd_precmd()
if checkyesno nfs_reserved_port_only; then
echo 'NFS on reserved port only=YES'
sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
+ else
+ sysctl vfs.nfsrv.nfs_privport=0 > /dev/null
fi
else
rc_flags="${nfs_server_flags}"
@@ -40,9 +42,12 @@ nfsd_precmd()
if checkyesno nfs_reserved_port_only; then
echo 'NFS on reserved port only=YES'
sysctl vfs.nfsd.nfs_privport=1 > /dev/null
+ else
+ sysctl vfs.nfsd.nfs_privport=0 > /dev/null
fi
if checkyesno nfsv4_server_enable; then
+ sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null
if ! checkyesno nfsuserd_enable && \
! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
then
More information about the svn-src-stable
mailing list