Re: [PATCH v4 02/18] NFSD: Add a Call equivalent to the NFSD_TRACE_PROC_RES macros

Jeff Layton
2025-05-03T20:30:09Z

On Sat, 2025-05-03 at 15:59 -0400, cel@kernel.org wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
>
> 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@oracle.com>
> ---
> 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@kernel.org>