aboutsummaryrefslogtreecommitdiffstats
path: root/sbin/nfsiod
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2009-12-26 08:36:02 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2009-12-26 08:36:02 +0000
commit48660452c1bbbc5d7a41a3625df502b71557ca3a (patch)
tree7d197ce34ce48fcbf0e06f9820a8f2bd19aff79c /sbin/nfsiod
parente8406463e86e99690b8814381f2474b185b49322 (diff)
downloadsrc-48660452c1bbbc5d7a41a3625df502b71557ca3a.tar.gz
src-48660452c1bbbc5d7a41a3625df502b71557ca3a.zip
- Display current settings when run without options.
- Revise a manpage to NOT sound confusing. [1] In collaboration with: sat [1]
Notes
Notes: svn path=/head/; revision=201015
Diffstat (limited to 'sbin/nfsiod')
-rw-r--r--sbin/nfsiod/nfsiod.833
-rw-r--r--sbin/nfsiod/nfsiod.c12
2 files changed, 30 insertions, 15 deletions
diff --git a/sbin/nfsiod/nfsiod.8 b/sbin/nfsiod/nfsiod.8
index 44bf1af28ad2..20a2c9db8e9c 100644
--- a/sbin/nfsiod/nfsiod.8
+++ b/sbin/nfsiod/nfsiod.8
@@ -28,7 +28,7 @@
.\" From: @(#)nfsiod.8 8.2 (Berkeley) 2/22/94
.\" $FreeBSD$
.\"
-.Dd September 22, 1994
+.Dd December 26, 2009
.Dt NFSIOD 8
.Os
.Sh NAME
@@ -42,33 +42,39 @@ asynchronous I/O server
.Sh DESCRIPTION
The
.Nm
-utility is a kernel process which runs on an
+utility controls the maximum number of
+.Nm
+kernel processes which run on an
.Tn NFS
client machine to service asynchronous I/O requests to its server.
-It improves performance but is not required for correct operation.
-.Pp
-This program controls the maximum number of processes that the kernel runs.
+Having
+.Nm
+kernel processes
+improves performance but is not required for correct operation.
.Pp
-The options are as follows:
+The option is as follows:
.Bl -tag -width indent
.It Fl n
-Specify how many servers are permitted to be started.
+Specify how many processes are permitted to be started.
.El
.Pp
-A client should run enough daemons to handle its maximum
+Without an option,
+.Nm
+displays the current settings.
+A client should allow enough number of processes to handle its maximum
level of concurrency, typically four to six.
.Pp
If
.Nm
detects that the running kernel does not include
.Tn NFS
-support, it will attempt to load a loadable kernel module containing
+support, it will attempt to load a kernel module containing
.Tn NFS
code, using
.Xr kldload 2 .
If this fails, or no
.Tn NFS
-KLD was available,
+module was available,
.Nm
exits with an error.
.Sh EXIT STATUS
@@ -85,3 +91,10 @@ The
.Nm
utility first appeared in
.Bx 4.4 .
+.Pp
+Starting with
+.Fx 5.0 ,
+the utility no longer starts daemons, but only serves as a vfs
+loader and
+.Xr sysctl 3
+wrapper.
diff --git a/sbin/nfsiod/nfsiod.c b/sbin/nfsiod/nfsiod.c
index 31559cc61bd7..b1db1f1615b9 100644
--- a/sbin/nfsiod/nfsiod.c
+++ b/sbin/nfsiod/nfsiod.c
@@ -89,12 +89,12 @@ main(int argc, char *argv[])
case 'n':
num_servers = atoi(optarg);
if (num_servers < 1) {
- warnx("nfsiod count %d; reset to %d",
+ warnx("nfsiod count %u; reset to %d",
num_servers, 1);
num_servers = 1;
}
if (num_servers > MAXNFSDCNT) {
- warnx("nfsiod count %d; reset to %d",
+ warnx("nfsiod count %u; reset to %d",
num_servers, MAXNFSDCNT);
num_servers = MAXNFSDCNT;
}
@@ -109,9 +109,6 @@ main(int argc, char *argv[])
if (argc > 0)
usage();
- if (num_servers == 0)
- exit(0); /* no change */
-
len = sizeof iodmin;
error = sysctlbyname("vfs.nfs.iodmin", &iodmin, &len, NULL, 0);
if (error < 0)
@@ -120,6 +117,11 @@ main(int argc, char *argv[])
error = sysctlbyname("vfs.nfs.iodmax", &iodmax, &len, NULL, 0);
if (error < 0)
err(1, "sysctlbyname(\"vfs.nfs.iodmax\")");
+ if (num_servers == 0) { /* no change */
+ printf("vfs.nfs.iodmin=%u\nvfs.nfs.iodmax=%u\n",
+ iodmin, iodmax);
+ exit(0);
+ }
/* Catch the case where we're lowering num_servers below iodmin */
if (iodmin > num_servers) {
iodmin = num_servers;