]>
Commit | Line | Data |
---|---|---|
31ef83dc CH |
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> | |
6e8b50d1 JL |
11 | #include "nfsfh.h" |
12 | ||
13 | DECLARE_EVENT_CLASS(nfsd_io_class, | |
14 | TP_PROTO(struct svc_rqst *rqstp, | |
15 | struct svc_fh *fhp, | |
16 | loff_t offset, | |
17 | int len), | |
18 | TP_ARGS(rqstp, fhp, offset, len), | |
19 | TP_STRUCT__entry( | |
20 | __field(__be32, xid) | |
21 | __field_struct(struct knfsd_fh, fh) | |
22 | __field(loff_t, offset) | |
23 | __field(int, len) | |
24 | ), | |
25 | TP_fast_assign( | |
26 | __entry->xid = rqstp->rq_xid, | |
27 | fh_copy_shallow(&__entry->fh, &fhp->fh_handle); | |
28 | __entry->offset = offset; | |
29 | __entry->len = len; | |
30 | ), | |
31 | TP_printk("xid=0x%x fh=0x%x offset=%lld len=%d", | |
32 | __be32_to_cpu(__entry->xid), knfsd_fh_hash(&__entry->fh), | |
33 | __entry->offset, __entry->len) | |
34 | ) | |
35 | ||
36 | #define DEFINE_NFSD_IO_EVENT(name) \ | |
37 | DEFINE_EVENT(nfsd_io_class, name, \ | |
38 | TP_PROTO(struct svc_rqst *rqstp, \ | |
39 | struct svc_fh *fhp, \ | |
40 | loff_t offset, \ | |
41 | int len), \ | |
42 | TP_ARGS(rqstp, fhp, offset, len)) | |
43 | ||
44 | DEFINE_NFSD_IO_EVENT(read_start); | |
45 | DEFINE_NFSD_IO_EVENT(read_opened); | |
46 | DEFINE_NFSD_IO_EVENT(read_io_done); | |
47 | DEFINE_NFSD_IO_EVENT(read_done); | |
48 | DEFINE_NFSD_IO_EVENT(write_start); | |
49 | DEFINE_NFSD_IO_EVENT(write_opened); | |
50 | DEFINE_NFSD_IO_EVENT(write_io_done); | |
51 | DEFINE_NFSD_IO_EVENT(write_done); | |
31ef83dc | 52 | |
825213e5 JL |
53 | #include "state.h" |
54 | ||
31ef83dc CH |
55 | DECLARE_EVENT_CLASS(nfsd_stateid_class, |
56 | TP_PROTO(stateid_t *stp), | |
57 | TP_ARGS(stp), | |
58 | TP_STRUCT__entry( | |
59 | __field(u32, cl_boot) | |
60 | __field(u32, cl_id) | |
61 | __field(u32, si_id) | |
62 | __field(u32, si_generation) | |
63 | ), | |
64 | TP_fast_assign( | |
65 | __entry->cl_boot = stp->si_opaque.so_clid.cl_boot; | |
66 | __entry->cl_id = stp->si_opaque.so_clid.cl_id; | |
67 | __entry->si_id = stp->si_opaque.so_id; | |
68 | __entry->si_generation = stp->si_generation; | |
69 | ), | |
70 | TP_printk("client %08x:%08x stateid %08x:%08x", | |
71 | __entry->cl_boot, | |
72 | __entry->cl_id, | |
73 | __entry->si_id, | |
74 | __entry->si_generation) | |
75 | ) | |
76 | ||
77 | #define DEFINE_STATEID_EVENT(name) \ | |
78 | DEFINE_EVENT(nfsd_stateid_class, name, \ | |
79 | TP_PROTO(stateid_t *stp), \ | |
80 | TP_ARGS(stp)) | |
81 | DEFINE_STATEID_EVENT(layoutstate_alloc); | |
82 | DEFINE_STATEID_EVENT(layoutstate_unhash); | |
83 | DEFINE_STATEID_EVENT(layoutstate_free); | |
84 | DEFINE_STATEID_EVENT(layout_get_lookup_fail); | |
85 | DEFINE_STATEID_EVENT(layout_commit_lookup_fail); | |
86 | DEFINE_STATEID_EVENT(layout_return_lookup_fail); | |
87 | DEFINE_STATEID_EVENT(layout_recall); | |
88 | DEFINE_STATEID_EVENT(layout_recall_done); | |
89 | DEFINE_STATEID_EVENT(layout_recall_fail); | |
90 | DEFINE_STATEID_EVENT(layout_recall_release); | |
91 | ||
92 | #endif /* _NFSD_TRACE_H */ | |
93 | ||
94 | #undef TRACE_INCLUDE_PATH | |
95 | #define TRACE_INCLUDE_PATH . | |
96 | #define TRACE_INCLUDE_FILE trace | |
97 | #include <trace/define_trace.h> |