1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM nbd |
4 | |
5 | #if !defined(_TRACE_NBD_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define _TRACE_NBD_H |
7 | |
8 | #include <linux/tracepoint.h> |
9 | |
10 | DECLARE_EVENT_CLASS(nbd_transport_event, |
11 | |
12 | TP_PROTO(struct request *req, u64 handle), |
13 | |
14 | TP_ARGS(req, handle), |
15 | |
16 | TP_STRUCT__entry( |
17 | __field(struct request *, req) |
18 | __field(u64, handle) |
19 | ), |
20 | |
21 | TP_fast_assign( |
22 | __entry->req = req; |
23 | __entry->handle = handle; |
24 | ), |
25 | |
26 | TP_printk( |
27 | "nbd transport event: request %p, handle 0x%016llx" , |
28 | __entry->req, |
29 | __entry->handle |
30 | ) |
31 | ); |
32 | |
33 | DEFINE_EVENT(nbd_transport_event, nbd_header_sent, |
34 | |
35 | TP_PROTO(struct request *req, u64 handle), |
36 | |
37 | TP_ARGS(req, handle) |
38 | ); |
39 | |
40 | DEFINE_EVENT(nbd_transport_event, nbd_payload_sent, |
41 | |
42 | TP_PROTO(struct request *req, u64 handle), |
43 | |
44 | TP_ARGS(req, handle) |
45 | ); |
46 | |
47 | DEFINE_EVENT(nbd_transport_event, nbd_header_received, |
48 | |
49 | TP_PROTO(struct request *req, u64 handle), |
50 | |
51 | TP_ARGS(req, handle) |
52 | ); |
53 | |
54 | DEFINE_EVENT(nbd_transport_event, nbd_payload_received, |
55 | |
56 | TP_PROTO(struct request *req, u64 handle), |
57 | |
58 | TP_ARGS(req, handle) |
59 | ); |
60 | |
61 | DECLARE_EVENT_CLASS(nbd_send_request, |
62 | |
63 | TP_PROTO(struct nbd_request *nbd_request, int index, |
64 | struct request *rq), |
65 | |
66 | TP_ARGS(nbd_request, index, rq), |
67 | |
68 | TP_STRUCT__entry( |
69 | __field(struct nbd_request *, nbd_request) |
70 | __field(u64, dev_index) |
71 | __field(struct request *, request) |
72 | ), |
73 | |
74 | TP_fast_assign( |
75 | __entry->nbd_request = 0; |
76 | __entry->dev_index = index; |
77 | __entry->request = rq; |
78 | ), |
79 | |
80 | TP_printk("nbd%lld: request %p" , __entry->dev_index, __entry->request) |
81 | ); |
82 | |
83 | #ifdef DEFINE_EVENT_WRITABLE |
84 | #undef NBD_DEFINE_EVENT |
85 | #define NBD_DEFINE_EVENT(template, call, proto, args, size) \ |
86 | DEFINE_EVENT_WRITABLE(template, call, PARAMS(proto), \ |
87 | PARAMS(args), size) |
88 | #else |
89 | #undef NBD_DEFINE_EVENT |
90 | #define NBD_DEFINE_EVENT(template, call, proto, args, size) \ |
91 | DEFINE_EVENT(template, call, PARAMS(proto), PARAMS(args)) |
92 | #endif |
93 | |
94 | NBD_DEFINE_EVENT(nbd_send_request, nbd_send_request, |
95 | |
96 | TP_PROTO(struct nbd_request *nbd_request, int index, |
97 | struct request *rq), |
98 | |
99 | TP_ARGS(nbd_request, index, rq), |
100 | |
101 | sizeof(struct nbd_request) |
102 | ); |
103 | |
104 | #endif |
105 | |
106 | /* This part must be outside protection */ |
107 | #include <trace/define_trace.h> |
108 | |