1*0dc73141SMike Snitzer /* SPDX-License-Identifier: GPL-2.0 */ 2*0dc73141SMike Snitzer /* 3*0dc73141SMike Snitzer * Copyright (c) 2024 Trond Myklebust <trond.myklebust@hammerspace.com> 4*0dc73141SMike Snitzer * Copyright (C) 2024 Mike Snitzer <snitzer@hammerspace.com> 5*0dc73141SMike Snitzer */ 6*0dc73141SMike Snitzer #undef TRACE_SYSTEM 7*0dc73141SMike Snitzer #define TRACE_SYSTEM nfs_localio 8*0dc73141SMike Snitzer 9*0dc73141SMike Snitzer #if !defined(_TRACE_NFS_COMMON_LOCALIO_H) || defined(TRACE_HEADER_MULTI_READ) 10*0dc73141SMike Snitzer #define _TRACE_NFS_COMMON_LOCALIO_H 11*0dc73141SMike Snitzer 12*0dc73141SMike Snitzer #include <linux/tracepoint.h> 13*0dc73141SMike Snitzer 14*0dc73141SMike Snitzer #include <trace/misc/fs.h> 15*0dc73141SMike Snitzer #include <trace/misc/nfs.h> 16*0dc73141SMike Snitzer #include <trace/misc/sunrpc.h> 17*0dc73141SMike Snitzer 18*0dc73141SMike Snitzer DECLARE_EVENT_CLASS(nfs_local_client_event, 19*0dc73141SMike Snitzer TP_PROTO( 20*0dc73141SMike Snitzer const struct nfs_client *clp 21*0dc73141SMike Snitzer ), 22*0dc73141SMike Snitzer 23*0dc73141SMike Snitzer TP_ARGS(clp), 24*0dc73141SMike Snitzer 25*0dc73141SMike Snitzer TP_STRUCT__entry( 26*0dc73141SMike Snitzer __field(unsigned int, protocol) 27*0dc73141SMike Snitzer __string(server, clp->cl_hostname) 28*0dc73141SMike Snitzer ), 29*0dc73141SMike Snitzer 30*0dc73141SMike Snitzer TP_fast_assign( 31*0dc73141SMike Snitzer __entry->protocol = clp->rpc_ops->version; 32*0dc73141SMike Snitzer __assign_str(server); 33*0dc73141SMike Snitzer ), 34*0dc73141SMike Snitzer 35*0dc73141SMike Snitzer TP_printk( 36*0dc73141SMike Snitzer "server=%s NFSv%u", __get_str(server), __entry->protocol 37*0dc73141SMike Snitzer ) 38*0dc73141SMike Snitzer ); 39*0dc73141SMike Snitzer 40*0dc73141SMike Snitzer #define DEFINE_NFS_LOCAL_CLIENT_EVENT(name) \ 41*0dc73141SMike Snitzer DEFINE_EVENT(nfs_local_client_event, name, \ 42*0dc73141SMike Snitzer TP_PROTO( \ 43*0dc73141SMike Snitzer const struct nfs_client *clp \ 44*0dc73141SMike Snitzer ), \ 45*0dc73141SMike Snitzer TP_ARGS(clp)) 46*0dc73141SMike Snitzer 47*0dc73141SMike Snitzer DEFINE_NFS_LOCAL_CLIENT_EVENT(nfs_localio_enable_client); 48*0dc73141SMike Snitzer DEFINE_NFS_LOCAL_CLIENT_EVENT(nfs_localio_disable_client); 49*0dc73141SMike Snitzer 50*0dc73141SMike Snitzer #endif /* _TRACE_NFS_COMMON_LOCALIO_H */ 51*0dc73141SMike Snitzer 52*0dc73141SMike Snitzer #undef TRACE_INCLUDE_PATH 53*0dc73141SMike Snitzer #define TRACE_INCLUDE_PATH . 54*0dc73141SMike Snitzer #define TRACE_INCLUDE_FILE localio_trace 55*0dc73141SMike Snitzer /* This part must be outside protection */ 56*0dc73141SMike Snitzer #include <trace/define_trace.h> 57