aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRick Macklem <rmacklem@FreeBSD.org>2011-05-04 13:50:37 +0000
committerRick Macklem <rmacklem@FreeBSD.org>2011-05-04 13:50:37 +0000
commit0e8f7d1995deebc9a419bfbeac2a7c833969d371 (patch)
treee7752f43cd36ba864cf433f07e66872873322a5b
parent2e3b981a4dccf29c039af6fdf76252d95b3a1c68 (diff)
Fix nfsstat.c so that the "-z" option works for the new
NFS subsystem. MFC after: 2 weeks
Notes
svn path=/head/; revision=221440
-rw-r--r--usr.bin/nfsstat/nfsstat.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/usr.bin/nfsstat/nfsstat.c b/usr.bin/nfsstat/nfsstat.c
index 81a22608f29a..0c7bad88a1a7 100644
--- a/usr.bin/nfsstat/nfsstat.c
+++ b/usr.bin/nfsstat/nfsstat.c
@@ -160,10 +160,7 @@ main(int argc, char **argv)
if (run_v4 != 0 && modfind("nfscommon") < 0)
errx(1, "experimental client/server not loaded");
- if (run_v4 != 0) {
- if (nfssvc(NFSSVC_GETSTATS, &ext_nfsstats) < 0)
- err(1, "Can't get stats");
- } else if (nlistf != NULL || memf != NULL) {
+ if (run_v4 == 0 && (nlistf != NULL || memf != NULL)) {
deadkernel = 1;
if ((kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY,
@@ -545,7 +542,17 @@ sperc2(int ttl, int misses)
void
exp_intpr(int clientOnly, int serverOnly)
{
+ int nfssvc_flag;
+ nfssvc_flag = NFSSVC_GETSTATS;
+ if (zflag != 0) {
+ if (clientOnly != 0)
+ nfssvc_flag |= NFSSVC_ZEROCLTSTATS;
+ if (serverOnly != 0)
+ nfssvc_flag |= NFSSVC_ZEROSRVSTATS;
+ }
+ if (nfssvc(nfssvc_flag, &ext_nfsstats) < 0)
+ err(1, "Can't get stats");
if (clientOnly != 0) {
if (printtitle) {
printf("Client Info:\n");