SUNRPC: Clean up svc_deferred_class trace events

[ Upstream commit 45cb7955c1 ]

Replace the temporary fix from commit 4d5004451a ("SUNRPC: Fix the
svc_deferred_event trace class") with the use of __sockaddr and
friends, which is the preferred solution (but only available in 5.18
and newer).

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Stable-dep-of: 948f072ada ("SUNRPC: always free ctxt when freeing deferred request")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Chuck Lever
2022-04-14 15:50:12 -04:00
committed by Greg Kroah-Hartman
parent 8c26ecd887
commit 9712097e89

View File

@@ -1923,19 +1923,18 @@ DECLARE_EVENT_CLASS(svc_deferred_event,
TP_STRUCT__entry(
__field(const void *, dr)
__field(u32, xid)
__array(__u8, addr, INET6_ADDRSTRLEN + 10)
__sockaddr(addr, dr->addrlen)
),
TP_fast_assign(
__entry->dr = dr;
__entry->xid = be32_to_cpu(*(__be32 *)(dr->args +
(dr->xprt_hlen>>2)));
snprintf(__entry->addr, sizeof(__entry->addr) - 1,
"%pISpc", (struct sockaddr *)&dr->addr);
__assign_sockaddr(addr, &dr->addr, dr->addrlen);
),
TP_printk("addr=%s dr=%p xid=0x%08x", __entry->addr, __entry->dr,
__entry->xid)
TP_printk("addr=%pISpc dr=%p xid=0x%08x", __get_sockaddr(addr),
__entry->dr, __entry->xid)
);
#define DEFINE_SVC_DEFERRED_EVENT(name) \