Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Feb 2013 02:00:41 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r246781 - head/usr.sbin/nfsd
Message-ID:  <201302140200.r1E20fSc010868@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: delphij
Date: Thu Feb 14 02:00:41 2013
New Revision: 246781
URL: http://svnweb.freebsd.org/changeset/base/246781

Log:
  Simplify r243637 and make sure that nfsdargs.{min,max}threads are always set
  to meaningful value:
  
   - When nfsdcnt is set, it dictates all values;
   - Otherwise, nfsdargs.minthreads is set to user specified value, or the
     automatically detected value if there is no one specified;
     nfsdargs.maxthreads is set to the user specified value, or the value
     of nfsdargs.minthreads if there is no one specified; when it is smaller
     than nfsdargs.minthreads, the latter's value is always used.
  
  MFC after:	2 weeks

Modified:
  head/usr.sbin/nfsd/nfsd.c

Modified: head/usr.sbin/nfsd/nfsd.c
==============================================================================
--- head/usr.sbin/nfsd/nfsd.c	Thu Feb 14 01:25:14 2013	(r246780)
+++ head/usr.sbin/nfsd/nfsd.c	Thu Feb 14 02:00:41 2013	(r246781)
@@ -1014,26 +1014,13 @@ start_server(int master)
 		}
 		nfsdargs.principal = principal;
 
-		if (minthreads_set) {
-			nfsdargs.minthreads = minthreads;
-			if (!maxthreads_set)
-				nfsdargs.maxthreads = minthreads;
-		}
-		if (maxthreads_set) {
-			nfsdargs.maxthreads = maxthreads;
-			if (!minthreads_set)
-				nfsdargs.minthreads = maxthreads;
-		}
-		if (nfsdcnt_set) {
-			nfsdargs.minthreads = nfsdcnt;
-			nfsdargs.maxthreads = nfsdcnt;
-		}
-		if (!minthreads_set && !maxthreads_set && !nfsdcnt_set) {
-			int tuned_nfsdcnt;
-
-			tuned_nfsdcnt = get_tuned_nfsdcount();
-			nfsdargs.minthreads = tuned_nfsdcnt;
-			nfsdargs.maxthreads = tuned_nfsdcnt;
+		if (nfsdcnt_set)
+			nfsdargs.minthreads = nfsdargs.maxthreads = nfsdcnt;
+		else {
+			nfsdargs.minthreads = minthreads_set ? minthreads : get_tuned_nfsdcount();
+			nfsdargs.maxthreads = maxthreads_set ? maxthreads : nfsdargs.minthreads;
+			if (nfsdargs.maxthreads < nfsdargs.minthreads)
+				nfsdargs.maxthreads = nfsdargs.minthreads;
 		}
 		error = nfssvc(nfssvc_nfsd, &nfsdargs);
 		if (error < 0 && errno == EAUTH) {



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