summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/nfsd/nfsd.c27
1 files changed, 7 insertions, 20 deletions
diff --git a/usr.sbin/nfsd/nfsd.c b/usr.sbin/nfsd/nfsd.c
index 3fa267c..b114ba6 100644
--- a/usr.sbin/nfsd/nfsd.c
+++ b/usr.sbin/nfsd/nfsd.c
@@ -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) {
OpenPOWER on IntegriCloud