[PATCH v4 00/18] nfsd: observability improvements

cel
2025-05-03T19:59:41Z

From: Chuck Lever <chuck.lever@oracle.com>

These needed enough cosmetic changes that a v4 posting is warranted.

Some of these could add a few more arguments, but the basic
infrastructure is solid enough to run with.

Changes in v4:
- Replace usage of __array/memcpy for capturing sockaddrs
- Add NFSD_TRACE_PROC_CALL macros instead of re-using SVC_RQST_ENDPOINT
- Const-ify tracepoint pointer arguments
- Rename nfsd_setattr and nfsd_lookup_dentry tracepoints to include _vfs_
- Restructure the new READDIR tracepoint to capture the "count" argument
- Add non-empty patch descriptions to silence checkpatch.pl
- Link to v3: https://lore.kernel.org/r/20250503-nfsd-tracepoints-v3-0-d89f445969af@kernel.org

Changes in v3:
- move most of the tracepoints into non-version specific nfsd/vfs.c calls
- rename them with a nfsd_vfs_* prefix
- remove the dprintks in separate patches
- Link to v2: https://lore.kernel.org/r/20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org

Changes in v2:
- Break tracepoints out into multiple patches
- Flesh out the tracepoints in these locations to display the same info
as legacy dprintks.
- have all the tracepoints SVC_XPRT_ENDPOINT_* info
- update svc_xprt_dequeue tracepoint to show how long xprt was on queue
- Link to v1: https://lore.kernel.org/r/20250306-nfsd-tracepoints-v1-0-4405bf41b95f@kernel.org

Chuck Lever (2):
NFSD: Use sockaddr instead of a generic array
NFSD: Add a Call equivalent to the NFSD_TRACE_PROC_RES macros

Jeff Layton (16):
nfsd: add a tracepoint for nfsd_setattr
nfsd: add a tracepoint to nfsd_lookup_dentry
nfsd: add nfsd_vfs_create tracepoints
nfsd: add tracepoint to nfsd_symlink
nfsd: add tracepoint to nfsd_link()
nfsd: add tracepoints for unlink events
nfsd: add tracepoint to nfsd_rename
nfsd: add tracepoint to nfsd_readdir
nfsd: add tracepoint for getattr and statfs events
nfsd: remove old v2/3 create path dprintks
nfsd: remove old v2/3 SYMLINK dprintks
nfsd: remove old LINK dprintks
nfsd: remove REMOVE/RMDIR dprintks
nfsd: remove dprintks for v2/3 RENAME events
nfsd: remove legacy READDIR dprintks
nfsd: remove legacy dprintks from GETATTR and STATFS codepaths

fs/nfsd/nfs3proc.c | 63 +--------
fs/nfsd/nfs4proc.c | 5 +
fs/nfsd/nfsproc.c | 35 +----
fs/nfsd/trace.h | 300 ++++++++++++++++++++++++++++++++++++++--
fs/nfsd/vfs.c | 16 ++-
include/trace/misc/fs.h | 21 +++
6 files changed, 336 insertions(+), 104 deletions(-)

--
2.49.0