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