]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
NFSD: use per-operation statidx for callback procedures
authorChuck Lever <chuck.lever@oracle.com>
Fri, 13 Mar 2026 16:31:47 +0000 (12:31 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Fri, 3 Apr 2026 13:27:15 +0000 (09:27 -0400)
commit39bd1bfe92a1a9450e1d6397f845020581090836
tree59bbce29e8bc1fad65cfd2a0649cb00a794995e3
parent18755b8c2f241648b951d3772e0742cc59834d5a
NFSD: use per-operation statidx for callback procedures

The callback RPC procedure table uses NFSPROC4_CB_##call for
p_statidx, which maps CB_NULL to index 0 and every
compound-based callback (CB_RECALL, CB_LAYOUT, CB_OFFLOAD,
etc.) to index 1. All compound callback operations therefore
share a single statistics counter, making per-operation
accounting impossible.

Assign p_statidx from the NFSPROC4_CLNT_##proc enum instead,
giving each callback operation its own counter slot. The
counts array is already sized by ARRAY_SIZE(nfs4_cb_procedures),
so no allocation change is needed.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4callback.c