From: Chuck Lever Date: Sat, 3 May 2025 19:59:20 +0000 (-0400) Subject: NFSD: Add a Call equivalent to the NFSD_TRACE_PROC_RES macros X-Git-Tag: v6.16-rc1~138^2~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=218927aa47647cc3bb58520cc630279844d8adde;p=thirdparty%2Fkernel%2Flinux.git 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 --- 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) \