From owner-svn-src-head@FreeBSD.ORG Thu Feb 14 01:25:15 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D50698BD; Thu, 14 Feb 2013 01:25:15 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A4FD2C24; Thu, 14 Feb 2013 01:25:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1E1PFc3099727; Thu, 14 Feb 2013 01:25:15 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1E1PERY099726; Thu, 14 Feb 2013 01:25:14 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201302140125.r1E1PERY099726@svn.freebsd.org> From: Xin LI Date: Thu, 14 Feb 2013 01:25:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r246780 - head/usr.sbin/nfsd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2013 01:25:15 -0000 Author: delphij Date: Thu Feb 14 01:25:14 2013 New Revision: 246780 URL: http://svnweb.freebsd.org/changeset/base/246780 Log: Abstract out setting of nfsdcnt and consistently use MAXNFSDCNT when the proposed value is too high and DEFNFSDCNT when proposed value is too low. 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:20:26 2013 (r246779) +++ head/usr.sbin/nfsd/nfsd.c Thu Feb 14 01:25:14 2013 (r246780) @@ -119,6 +119,7 @@ static void usage(void); static void open_stable(int *, int *); static void copy_stable(int, int); static void backup_stable(int); +static void set_nfsdcnt(int); /* * Nfs server daemon mostly just a user context for nfssvc() @@ -178,8 +179,7 @@ main(int argc, char **argv) bindanyflag = 1; break; case 'n': - nfsdcnt_set = 1; - nfsdcnt = atoi(optarg); + set_nfsdcnt(atoi(optarg)); break; case 'h': bindhostc++; @@ -235,15 +235,8 @@ main(int argc, char **argv) */ if (argc > 1) usage(); - if (argc == 1) { - nfsdcnt_set = 1; - nfsdcnt = atoi(argv[0]); - if (nfsdcnt < 1 || nfsdcnt > MAXNFSDCNT) { - warnx("nfsd count %d; reset to %d", nfsdcnt, - DEFNFSDCNT); - nfsdcnt = DEFNFSDCNT; - } - } + if (argc == 1) + set_nfsdcnt(atoi(argv[0])); /* * Unless the "-o" option was specified, try and run "nfsd". @@ -429,16 +422,6 @@ main(int argc, char **argv) } if (!new_syscall) { - if (nfsdcnt < 1) { - warnx("nfsd count too low %d; reset to %d", nfsdcnt, - DEFNFSDCNT); - nfsdcnt = DEFNFSDCNT; - } - if (nfsdcnt > MAXNFSDCNT) { - warnx("nfsd count too high %d; reset to %d", nfsdcnt, - DEFNFSDCNT); - nfsdcnt = MAXNFSDCNT; - } /* If we use UDP only, we start the last server below. */ srvcnt = tcpflag ? nfsdcnt : nfsdcnt - 1; for (i = 0; i < srvcnt; i++) { @@ -891,6 +874,23 @@ setbindhost(struct addrinfo **ai, const } static void +set_nfsdcnt(int proposed) +{ + + if (proposed < 1) { + warnx("nfsd count too low %d; reset to %d", proposed, + DEFNFSDCNT); + nfsdcnt = DEFNFSDCNT; + } else if (proposed > MAXNFSDCNT) { + warnx("nfsd count too high %d; truncated to %d", proposed, + MAXNFSDCNT); + nfsdcnt = MAXNFSDCNT; + } else + nfsdcnt = proposed; + nfsdcnt_set = 1; +} + +static void usage(void) { (void)fprintf(stderr, "%s", getopt_usage);