Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Nov 2011 08:07:17 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r227607 - stable/9/etc/rc.d
Message-ID:  <201111170807.pAH87H8m088114@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111170807.pAH87H8m088114>