]> www.infradead.org Git - users/hch/misc.git/commitdiff
NFSD: Add a Call equivalent to the NFSD_TRACE_PROC_RES macros
authorChuck Lever <chuck.lever@oracle.com>
Sat, 3 May 2025 19:59:20 +0000 (15:59 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Sun, 11 May 2025 23:48:30 +0000 (19:48 -0400)
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 <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/trace.h

index f67ab3d1b5063880706e1075150dd7f94319fcba..fc373c4d5fdd6c75d48230306937accd4eb8ad08 100644 (file)
 #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) \