Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

SUNRPC: Clean up svc_deferred_class trace events

Replace the temporary fix from commit 4d5004451ab2 ("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>

+4 -5
+4 -5
include/trace/events/sunrpc.h
··· 2015 2015 TP_STRUCT__entry( 2016 2016 __field(const void *, dr) 2017 2017 __field(u32, xid) 2018 - __array(__u8, addr, INET6_ADDRSTRLEN + 10) 2018 + __sockaddr(addr, dr->addrlen) 2019 2019 ), 2020 2020 2021 2021 TP_fast_assign( 2022 2022 __entry->dr = dr; 2023 2023 __entry->xid = be32_to_cpu(*(__be32 *)(dr->args + 2024 2024 (dr->xprt_hlen>>2))); 2025 - snprintf(__entry->addr, sizeof(__entry->addr) - 1, 2026 - "%pISpc", (struct sockaddr *)&dr->addr); 2025 + __assign_sockaddr(addr, &dr->addr, dr->addrlen); 2027 2026 ), 2028 2027 2029 - TP_printk("addr=%s dr=%p xid=0x%08x", __entry->addr, __entry->dr, 2030 - __entry->xid) 2028 + TP_printk("addr=%pISpc dr=%p xid=0x%08x", __get_sockaddr(addr), 2029 + __entry->dr, __entry->xid) 2031 2030 ); 2032 2031 2033 2032 #define DEFINE_SVC_DEFERRED_EVENT(name) \