Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Apr 2011 00:22:17 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r221046 - in head/etc: defaults rc.d
Message-ID:  <201104260022.p3Q0MHde098931@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Tue Apr 26 00:22:17 2011
New Revision: 221046
URL: http://svn.freebsd.org/changeset/base/221046

Log:
  Update the /etc/rc.d scripts for mountd and nfsd so they
  can use the "-o" option to force the old NFS server to run.
  Running the old NFS server is enabled by setting
  oldnfs_server_enable="YES". The scripts will only enable
  providing service for NFSv4 if nfsv4_server_enable="YES"
  is set.
  
  Reviewed by:	dougb (rc)

Modified:
  head/etc/defaults/rc.conf
  head/etc/rc.d/mountd
  head/etc/rc.d/nfsd

Modified: head/etc/defaults/rc.conf
==============================================================================
--- head/etc/defaults/rc.conf	Tue Apr 26 00:20:04 2011	(r221045)
+++ head/etc/defaults/rc.conf	Tue Apr 26 00:22:17 2011	(r221046)
@@ -323,6 +323,7 @@ amd_map_program="NO"		# Can be set to "y
 nfs_client_enable="NO"		# This host is an NFS client (or NO).
 nfs_access_cache="60"		# Client cache timeout in seconds
 nfs_server_enable="NO"		# This host is an NFS server (or NO).
+oldnfs_server_enable="NO"	# Run the old NFS server (YES/NO).
 nfs_server_flags="-u -t -n 4"	# Flags to nfsd (if enabled).
 mountd_enable="NO"		# Run mountd (or NO).
 mountd_flags="-r"		# Flags to mountd (if NFS server enabled).

Modified: head/etc/rc.d/mountd
==============================================================================
--- head/etc/rc.d/mountd	Tue Apr 26 00:20:04 2011	(r221045)
+++ head/etc/rc.d/mountd	Tue Apr 26 00:22:17 2011	(r221046)
@@ -37,11 +37,10 @@ mountd_precmd()
 		fi
 	fi
 
-	# If nfsv4_server_enable is yes, force use of the experimental
-	# server
+	# If oldnfs_server_enable is yes, force use of the old NFS server
 	#
-	if checkyesno nfsv4_server_enable; then
-		rc_flags="-e ${rc_flags}"
+	if checkyesno oldnfs_server_enable; then
+		rc_flags="-o ${rc_flags}"
 	fi
 
 	if checkyesno zfs_enable; then

Modified: head/etc/rc.d/nfsd
==============================================================================
--- head/etc/rc.d/nfsd	Tue Apr 26 00:20:04 2011	(r221045)
+++ head/etc/rc.d/nfsd	Tue Apr 26 00:22:17 2011	(r221046)
@@ -19,19 +19,8 @@ sig_stop="USR1"
 
 nfsd_precmd()
 {
-	if checkyesno nfsv4_server_enable; then
-		# If nfsv4_server_enable is yes, force use
-		# of the experimental server
-		#
-		rc_flags="-e ${nfs_server_flags}"
-
-		if ! checkyesno nfsuserd_enable  && \
-		    ! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
-		then
-			force_depend nfsuserd || return 1
-		fi
-	else
-		rc_flags="${nfs_server_flags}"
+	if checkyesno oldnfs_server_enable; then
+		rc_flags="-o ${nfs_server_flags}"
 
 		if ! sysctl vfs.nfsrv >/dev/null 2>&1; then
 			force_depend nfsserver || return 1
@@ -41,6 +30,30 @@ nfsd_precmd()
 			echo 'NFS on reserved port only=YES'
 			sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
 		fi
+	else
+		rc_flags="${nfs_server_flags}"
+
+		# Load the modules now, so that the vfs.newnfs sysctl
+		# oids are available.
+		load_kld nfsd
+
+		if checkyesno nfs_reserved_port_only; then
+			echo 'NFS on reserved port only=YES'
+			sysctl vfs.newnfs.nfs_privport=1 > /dev/null
+		fi
+
+		if checkyesno nfsv4_server_enable; then
+			if ! checkyesno nfsuserd_enable  && \
+			    ! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
+			then
+				if ! force_depend nfsuserd; then
+					err 1 "Cannot run nfsuserd"
+				fi
+			fi
+		else
+			echo 'NFSv4 is disabled'
+			sysctl vfs.newnfs.server_max_nfsvers=3 > /dev/null
+		fi
 	fi
 
 	if ! checkyesno rpcbind_enable  && \



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