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) {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to