nfsstats
extern struct nfsstats nfsstats;
nfsstats.write_bios++;
nfsstats.read_physios++;
nfsstats.write_physios++;
nfsstats.biocache_reads++;
nfsstats.biocache_readlinks++;
nfsstats.biocache_readdirs++;
nfsstats.direofcache_hits++;
nfsstats.biocache_writes++;
extern struct nfsstats nfsstats;
nfsstats.read_bios++;
nfsstats.readlink_bios++;
nfsstats.readdir_bios++;
nfsstats.rpcretries++;
nfsstats.rpctimeouts++;
nfsstats.rpcinvalid++;
nfsstats.rpcunexpected++;
nfsstats.rpcrequests++;
nfsstats.attrcache_misses++;
nfsstats.attrcache_hits++;
nfsstats.srvvop_writes++;
extern struct nfsstats nfsstats;
nfsstats.srvvop_writes++;
nfsstats.srvrpc_errs++;
nfsstats.rpctimeouts++;
nfsstats.rpcretries++;
nfsstats.srvcache_inproghits++;
nfsstats.srvcache_nonidemdonehits++;
nfsstats.srvcache_nonidemdonehits++;
nfsstats.srvcache_idemdonehits++;
nfsstats.srvcache_misses++;
extern struct nfsstats nfsstats;
struct nfsstats nfsstats;
nfsstats.srv_errs++;
nfsstats.srvrpccnt[nd->nd_procnum]++;
NULL, 0, &nfsstats, sizeof(nfsstats),
nfsstats.rpccnt[NFSPROC_FSSTAT]++;
nfsstats.rpccnt[NFSPROC_FSINFO]++;
extern struct nfsstats nfsstats;
nfsstats.rpccnt[NFSPROC_READLINK]++;
nfsstats.rpccnt[NFSPROC_READ]++;
nfsstats.rpccnt[NFSPROC_WRITE]++;
nfsstats.rpccnt[NFSPROC_MKNOD]++;
nfsstats.rpccnt[NFSPROC_CREATE]++;
nfsstats.rpccnt[NFSPROC_REMOVE]++;
nfsstats.rpccnt[NFSPROC_RENAME]++;
nfsstats.rpccnt[NFSPROC_LINK]++;
nfsstats.rpccnt[NFSPROC_SYMLINK]++;
nfsstats.rpccnt[NFSPROC_MKDIR]++;
nfsstats.rpccnt[NFSPROC_RMDIR]++;
nfsstats.direofcache_misses++;
nfsstats.rpccnt[NFSPROC_READDIR]++;
nfsstats.rpccnt[NFSPROC_READDIRPLUS]++;
nfsstats.rpccnt[NFSPROC_LOOKUP]++;
nfsstats.rpccnt[NFSPROC_COMMIT]++;
nfsstats.rpccnt[NFSPROC_PATHCONF]++;
nfsstats.rpccnt[NFSPROC_ACCESS]++;
nfsstats.rpccnt[NFSPROC_GETATTR]++;
nfsstats.rpccnt[NFSPROC_SETATTR]++;
nfsstats.lookupcache_hits++;
nfsstats.lookupcache_misses++;
nfsstats.rpccnt[NFSPROC_LOOKUP]++;
static void getstats(struct nfsstats *);
getstats(struct nfsstats *ns)
struct nfsstats nfsstats;
getstats(&nfsstats);
total += nfsstats.rpccnt[i];
RPCSTAT(nfsstats.rpccnt[NFSPROC_NULL]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_GETATTR]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_SETATTR]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_LOOKUP]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_ACCESS]));
RPCSTAT(nfsstats.rpccnt[NFSPROC_READLINK]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_READ]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_WRITE]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_CREATE]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_MKDIR]));
RPCSTAT(nfsstats.rpccnt[NFSPROC_SYMLINK]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_MKNOD]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_REMOVE]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_RMDIR]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_RENAME]));
RPCSTAT(nfsstats.rpccnt[NFSPROC_LINK]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_READDIR]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_READDIRPLUS]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_FSSTAT]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_FSINFO]));
RPCSTAT(nfsstats.rpccnt[NFSPROC_PATHCONF]),
RPCSTAT(nfsstats.rpccnt[NFSPROC_COMMIT]));
nfsstats.rpctimeouts,
nfsstats.rpcinvalid,
nfsstats.rpcunexpected,
nfsstats.rpcretries,
nfsstats.rpcrequests);
NUMPCT(nfsstats.attrcache_hits,
nfsstats.attrcache_misses),
NUMPCT(nfsstats.lookupcache_hits,
nfsstats.lookupcache_misses),
NUMPCT(nfsstats.biocache_reads - nfsstats.read_bios,
nfsstats.read_bios),
NUMPCT(nfsstats.biocache_writes - nfsstats.write_bios,
nfsstats.write_bios),
NUMPCT(nfsstats.biocache_readlinks - nfsstats.readlink_bios,
nfsstats.readlink_bios));
NUMPCT(nfsstats.biocache_readdirs - nfsstats.readdir_bios,
nfsstats.readdir_bios),
NUMPCT(nfsstats.direofcache_hits,
nfsstats.direofcache_misses));
total += nfsstats.srvrpccnt[i];
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_NULL]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_GETATTR]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_SETATTR]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_LOOKUP]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_ACCESS]));
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_READLINK]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_READ]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_WRITE]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_CREATE]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_MKDIR]));
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_SYMLINK]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_MKNOD]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_REMOVE]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_RMDIR]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_RENAME]));
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_LINK]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_READDIR]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_READDIRPLUS]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_FSSTAT]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_FSINFO]));
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_PATHCONF]),
RPCSTAT(nfsstats.srvrpccnt[NFSPROC_COMMIT]));
nfsstats.srvrpc_errs,
nfsstats.srv_errs);
nfsstats.srvcache_inproghits,
nfsstats.srvcache_idemdonehits,
nfsstats.srvcache_nonidemdonehits,
nfsstats.srvcache_misses);
nfsstats.srvvop_writes,
nfsstats.srvrpccnt[NFSPROC_WRITE],
nfsstats.srvrpccnt[NFSPROC_WRITE]-nfsstats.srvvop_writes,
nfsstats.srvrpccnt[NFSPROC_WRITE]));
struct nfsstats nfsstats;
getstats(&nfsstats);
current.client[i] += nfsstats.rpccnt[idx];
current.server[i] += nfsstats.srvrpccnt[idx];