diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2016-05-21 20:50:25 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2016-05-21 20:50:25 +0000 |
commit | 4c7da2a5ff395e2863d48f8f4377de41690bc2ab (patch) | |
tree | 2b319dc6abf7e7c4b37a5cfff6c9413b9cffc32c | |
parent | 64cac89e365fc7546a430a2eaae7ec422ea8ebf4 (diff) | |
download | FreeBSD-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.
-rw-r--r-- | sys/fs/nfsserver/nfs_nfsdsocket.c | 7 |
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); |