Use sysctlbyname() to locate the vfs.nfs.nfsstats node.
Submitted by: Daniel Rock <rock@cs.uni-sb.de>
This commit is contained in:
parent
f91e4bda2a
commit
81d90aa796
@ -45,7 +45,7 @@ static char copyright[] =
|
|||||||
static char sccsid[] = "@(#)nfsstat.c 8.2 (Berkeley) 3/31/95";
|
static char sccsid[] = "@(#)nfsstat.c 8.2 (Berkeley) 3/31/95";
|
||||||
#endif
|
#endif
|
||||||
static const char rcsid[] =
|
static const char rcsid[] =
|
||||||
"$Id: nfsstat.c,v 1.9 1997/03/29 04:31:23 imp Exp $";
|
"$Id: nfsstat.c,v 1.10 1998/01/20 12:27:38 bde Exp $";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@ -162,16 +162,9 @@ readstats(stp)
|
|||||||
err(1, "kvm_read");
|
err(1, "kvm_read");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int name[3];
|
|
||||||
size_t buflen = sizeof *stp;
|
size_t buflen = sizeof *stp;
|
||||||
struct vfsconf vfc;
|
|
||||||
|
|
||||||
if (getvfsbyname("nfs", &vfc) < 0)
|
if (sysctlbyname("vfs.nfs.nfsstats", stp, &buflen, (void *)0, (size_t)0) < 0) {
|
||||||
err(1, "getvfsbyname: NFS not compiled into kernel");
|
|
||||||
name[0] = CTL_VFS;
|
|
||||||
name[1] = vfc.vfc_typenum;
|
|
||||||
name[2] = NFS_NFSSTATS;
|
|
||||||
if (sysctl(name, 3, stp, &buflen, (void *)0, (size_t)0) < 0) {
|
|
||||||
err(1, "sysctl");
|
err(1, "sysctl");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user