summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2016-05-21 20:50:25 +0000
committerrmacklem <rmacklem@FreeBSD.org>2016-05-21 20:50:25 +0000
commit4c7da2a5ff395e2863d48f8f4377de41690bc2ab (patch)
tree2b319dc6abf7e7c4b37a5cfff6c9413b9cffc32c /sys/fs
parent64cac89e365fc7546a430a2eaae7ec422ea8ebf4 (diff)
downloadFreeBSD-src-4c7da2a5ff395e2863d48f8f4377de41690bc2ab.zip
FreeBSD-src-4c7da2a5ff395e2863d48f8f4377de41690bc2ab.tar.gz
MFC: r299226
Don't increment srvrpccnt[] for the NFSv4.1 operations. When support for NFSv4.1 was added to the NFS server, it broke the server rpc count stats, since newnfsstats.srvrpccnt[] doesn't have entries for the new NFSv4.1 operations. Without this patch, the code was incrementing bogus entries in newnfsstats for the new NFSv4.1 operations. This patch is an interim fix. The nfsstats structure needs to be updated and that will come in a future commit.
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/nfsserver/nfs_nfsdsocket.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/fs/nfsserver/nfs_nfsdsocket.c b/sys/fs/nfsserver/nfs_nfsdsocket.c
index 4497161..d89aff6 100644
--- a/sys/fs/nfsserver/nfs_nfsdsocket.c
+++ b/sys/fs/nfsserver/nfs_nfsdsocket.c
@@ -771,7 +771,12 @@ nfsrvd_compound(struct nfsrv_descript *nd, int isdgram, u_char *tag,
}
if (nfsv4_opflag[op].savereply)
nd->nd_flag |= ND_SAVEREPLY;
- NFSINCRGLOBAL(newnfsstats.srvrpccnt[nd->nd_procnum]);
+ /*
+ * For now, newnfsstats.srvrpccnt[] doesn't have entries
+ * for the NFSv4.1 operations.
+ */
+ if (nd->nd_procnum < NFSV4OP_NOPS)
+ NFSINCRGLOBAL(newnfsstats.srvrpccnt[nd->nd_procnum]);
switch (op) {
case NFSV4OP_PUTFH:
error = nfsrv_mtofh(nd, &fh);
OpenPOWER on IntegriCloud