xref: /openbmc/linux/fs/nfsd/trace.h (revision 31ef83dc)
131ef83dcSChristoph Hellwig /*
231ef83dcSChristoph Hellwig  * Copyright (c) 2014 Christoph Hellwig.
331ef83dcSChristoph Hellwig  */
431ef83dcSChristoph Hellwig #undef TRACE_SYSTEM
531ef83dcSChristoph Hellwig #define TRACE_SYSTEM nfsd
631ef83dcSChristoph Hellwig 
731ef83dcSChristoph Hellwig #if !defined(_NFSD_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
831ef83dcSChristoph Hellwig #define _NFSD_TRACE_H
931ef83dcSChristoph Hellwig 
1031ef83dcSChristoph Hellwig #include <linux/tracepoint.h>
1131ef83dcSChristoph Hellwig 
1231ef83dcSChristoph Hellwig DECLARE_EVENT_CLASS(nfsd_stateid_class,
1331ef83dcSChristoph Hellwig 	TP_PROTO(stateid_t *stp),
1431ef83dcSChristoph Hellwig 	TP_ARGS(stp),
1531ef83dcSChristoph Hellwig 	TP_STRUCT__entry(
1631ef83dcSChristoph Hellwig 		__field(u32, cl_boot)
1731ef83dcSChristoph Hellwig 		__field(u32, cl_id)
1831ef83dcSChristoph Hellwig 		__field(u32, si_id)
1931ef83dcSChristoph Hellwig 		__field(u32, si_generation)
2031ef83dcSChristoph Hellwig 	),
2131ef83dcSChristoph Hellwig 	TP_fast_assign(
2231ef83dcSChristoph Hellwig 		__entry->cl_boot = stp->si_opaque.so_clid.cl_boot;
2331ef83dcSChristoph Hellwig 		__entry->cl_id = stp->si_opaque.so_clid.cl_id;
2431ef83dcSChristoph Hellwig 		__entry->si_id = stp->si_opaque.so_id;
2531ef83dcSChristoph Hellwig 		__entry->si_generation = stp->si_generation;
2631ef83dcSChristoph Hellwig 	),
2731ef83dcSChristoph Hellwig 	TP_printk("client %08x:%08x stateid %08x:%08x",
2831ef83dcSChristoph Hellwig 		__entry->cl_boot,
2931ef83dcSChristoph Hellwig 		__entry->cl_id,
3031ef83dcSChristoph Hellwig 		__entry->si_id,
3131ef83dcSChristoph Hellwig 		__entry->si_generation)
3231ef83dcSChristoph Hellwig )
3331ef83dcSChristoph Hellwig 
3431ef83dcSChristoph Hellwig #define DEFINE_STATEID_EVENT(name) \
3531ef83dcSChristoph Hellwig DEFINE_EVENT(nfsd_stateid_class, name, \
3631ef83dcSChristoph Hellwig 	TP_PROTO(stateid_t *stp), \
3731ef83dcSChristoph Hellwig 	TP_ARGS(stp))
3831ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layoutstate_alloc);
3931ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layoutstate_unhash);
4031ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layoutstate_free);
4131ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layout_get_lookup_fail);
4231ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layout_commit_lookup_fail);
4331ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layout_return_lookup_fail);
4431ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layout_recall);
4531ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layout_recall_done);
4631ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layout_recall_fail);
4731ef83dcSChristoph Hellwig DEFINE_STATEID_EVENT(layout_recall_release);
4831ef83dcSChristoph Hellwig 
4931ef83dcSChristoph Hellwig #endif /* _NFSD_TRACE_H */
5031ef83dcSChristoph Hellwig 
5131ef83dcSChristoph Hellwig #undef TRACE_INCLUDE_PATH
5231ef83dcSChristoph Hellwig #define TRACE_INCLUDE_PATH .
5331ef83dcSChristoph Hellwig #define TRACE_INCLUDE_FILE trace
5431ef83dcSChristoph Hellwig #include <trace/define_trace.h>
55