From 218927aa47647cc3bb58520cc630279844d8adde Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Sat, 3 May 2025 15:59:20 -0400 Subject: [PATCH] NFSD: Add a Call equivalent to the NFSD_TRACE_PROC_RES macros Introduce tracing helpers that can be used before the procedure status code is known. These macros are similar to the SVC_RQST_ENDPOINT helpers, but they can be modified to include NFS-specific fields if that is needed later. Reviewed-by: Jeff Layton Signed-off-by: Chuck Lever --- fs/nfsd/trace.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index f67ab3d1b5063..fc373c4d5fdd6 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -18,6 +18,23 @@ #include "nfsfh.h" #include "xdr4.h" +#define NFSD_TRACE_PROC_CALL_FIELDS(r) \ + __field(unsigned int, netns_ino) \ + __field(u32, xid) \ + __sockaddr(server, (r)->rq_xprt->xpt_locallen) \ + __sockaddr(client, (r)->rq_xprt->xpt_remotelen) + +#define NFSD_TRACE_PROC_CALL_ASSIGNMENTS(r) \ + do { \ + struct svc_xprt *xprt = (r)->rq_xprt; \ + __entry->netns_ino = SVC_NET(r)->ns.inum; \ + __entry->xid = be32_to_cpu((r)->rq_xid); \ + __assign_sockaddr(server, &xprt->xpt_local, \ + xprt->xpt_locallen); \ + __assign_sockaddr(client, &xprt->xpt_remote, \ + xprt->xpt_remotelen); \ + } while (0) + #define NFSD_TRACE_PROC_RES_FIELDS(r) \ __field(unsigned int, netns_ino) \ __field(u32, xid) \ -- 2.47.2