On Sat, 2025-05-03 at 15:59 -0400, cel@xxxxxxxxxx wrote: > From: Chuck Lever <chuck.lever@xxxxxxxxxx> > > 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. > > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > --- > fs/nfsd/trace.h | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h > index f67ab3d1b506..fc373c4d5fdd 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) \ Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>