1 /* 2 * Copyright (c) 2014 Christoph Hellwig. 3 */ 4 #undef TRACE_SYSTEM 5 #define TRACE_SYSTEM nfsd 6 7 #if !defined(_NFSD_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) 8 #define _NFSD_TRACE_H 9 10 #include <linux/tracepoint.h> 11 12 #include "state.h" 13 14 DECLARE_EVENT_CLASS(nfsd_stateid_class, 15 TP_PROTO(stateid_t *stp), 16 TP_ARGS(stp), 17 TP_STRUCT__entry( 18 __field(u32, cl_boot) 19 __field(u32, cl_id) 20 __field(u32, si_id) 21 __field(u32, si_generation) 22 ), 23 TP_fast_assign( 24 __entry->cl_boot = stp->si_opaque.so_clid.cl_boot; 25 __entry->cl_id = stp->si_opaque.so_clid.cl_id; 26 __entry->si_id = stp->si_opaque.so_id; 27 __entry->si_generation = stp->si_generation; 28 ), 29 TP_printk("client %08x:%08x stateid %08x:%08x", 30 __entry->cl_boot, 31 __entry->cl_id, 32 __entry->si_id, 33 __entry->si_generation) 34 ) 35 36 #define DEFINE_STATEID_EVENT(name) \ 37 DEFINE_EVENT(nfsd_stateid_class, name, \ 38 TP_PROTO(stateid_t *stp), \ 39 TP_ARGS(stp)) 40 DEFINE_STATEID_EVENT(layoutstate_alloc); 41 DEFINE_STATEID_EVENT(layoutstate_unhash); 42 DEFINE_STATEID_EVENT(layoutstate_free); 43 DEFINE_STATEID_EVENT(layout_get_lookup_fail); 44 DEFINE_STATEID_EVENT(layout_commit_lookup_fail); 45 DEFINE_STATEID_EVENT(layout_return_lookup_fail); 46 DEFINE_STATEID_EVENT(layout_recall); 47 DEFINE_STATEID_EVENT(layout_recall_done); 48 DEFINE_STATEID_EVENT(layout_recall_fail); 49 DEFINE_STATEID_EVENT(layout_recall_release); 50 51 #endif /* _NFSD_TRACE_H */ 52 53 #undef TRACE_INCLUDE_PATH 54 #define TRACE_INCLUDE_PATH . 55 #define TRACE_INCLUDE_FILE trace 56 #include <trace/define_trace.h> 57