NFSD: Remove NFSD_PROC_ARGS_* macros
authorChuck Lever <chuck.lever@oracle.com>
Wed, 20 Oct 2021 18:53:30 +0000 (14:53 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 28 Feb 2022 15:26:39 +0000 (10:26 -0500)
Clean up.

The PROC_ARGS macros were added when I thought that NFSD tracepoints
would be reporting endpoint information. However, tracepoints in the
RPC server now report transport endpoint information, so in general
there's no need for the upper layers to do that any more, and these
macros can be retired.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/trace.h

index f0d2ccb633a6808824645492e2d0116e373f05c2..242fa123e0e94b71dea786f1db7abc2d1e0516c6 100644 (file)
 #include "export.h"
 #include "nfsfh.h"
 
-#define NFSD_TRACE_PROC_ARG_FIELDS \
-               __field(unsigned int, netns_ino) \
-               __field(u32, xid) \
-               __array(unsigned char, server, sizeof(struct sockaddr_in6)) \
-               __array(unsigned char, client, sizeof(struct sockaddr_in6))
-
-#define NFSD_TRACE_PROC_ARG_ASSIGNMENTS \
-               do { \
-                       __entry->netns_ino = SVC_NET(rqstp)->ns.inum; \
-                       __entry->xid = be32_to_cpu(rqstp->rq_xid); \
-                       memcpy(__entry->server, &rqstp->rq_xprt->xpt_local, \
-                              rqstp->rq_xprt->xpt_locallen); \
-                       memcpy(__entry->client, &rqstp->rq_xprt->xpt_remote, \
-                              rqstp->rq_xprt->xpt_remotelen); \
-               } while (0);
-
 #define NFSD_TRACE_PROC_RES_FIELDS \
                __field(unsigned int, netns_ino) \
                __field(u32, xid) \
@@ -53,16 +37,22 @@ DECLARE_EVENT_CLASS(nfsd_xdr_err_class,
        ),
        TP_ARGS(rqstp),
        TP_STRUCT__entry(
-               NFSD_TRACE_PROC_ARG_FIELDS
-
+               __field(unsigned int, netns_ino)
+               __field(u32, xid)
                __field(u32, vers)
                __field(u32, proc)
+               __sockaddr(server, rqstp->rq_xprt->xpt_locallen)
+               __sockaddr(client, rqstp->rq_xprt->xpt_remotelen)
        ),
        TP_fast_assign(
-               NFSD_TRACE_PROC_ARG_ASSIGNMENTS
+               const struct svc_xprt *xprt = rqstp->rq_xprt;
 
+               __entry->netns_ino = xprt->xpt_net->ns.inum;
+               __entry->xid = be32_to_cpu(rqstp->rq_xid);
                __entry->vers = rqstp->rq_vers;
                __entry->proc = rqstp->rq_proc;
+               __assign_sockaddr(server, &xprt->xpt_local, xprt->xpt_locallen);
+               __assign_sockaddr(client, &xprt->xpt_remote, xprt->xpt_remotelen);
        ),
        TP_printk("xid=0x%08x vers=%u proc=%u",
                __entry->xid, __entry->vers, __entry->proc