OSDN Git Service

nbd: trace sending nbd requests
[tomoyo/tomoyo-test1.git] / include / trace / events / nbd.h
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_send_request,
11
12         TP_PROTO(struct nbd_request *nbd_request, int index,
13                  struct request *rq),
14
15         TP_ARGS(nbd_request, index, rq),
16
17         TP_STRUCT__entry(
18                 __field(struct nbd_request *, nbd_request)
19                 __field(u64, dev_index)
20                 __field(struct request *, request)
21         ),
22
23         TP_fast_assign(
24                 __entry->nbd_request = 0;
25                 __entry->dev_index = index;
26                 __entry->request = rq;
27         ),
28
29         TP_printk("nbd%lld: request %p", __entry->dev_index, __entry->request)
30 );
31
32 #ifdef DEFINE_EVENT_WRITABLE
33 #undef NBD_DEFINE_EVENT
34 #define NBD_DEFINE_EVENT(template, call, proto, args, size)             \
35         DEFINE_EVENT_WRITABLE(template, call, PARAMS(proto),            \
36                               PARAMS(args), size)
37 #else
38 #undef NBD_DEFINE_EVENT
39 #define NBD_DEFINE_EVENT(template, call, proto, args, size)             \
40         DEFINE_EVENT(template, call, PARAMS(proto), PARAMS(args))
41 #endif
42
43 NBD_DEFINE_EVENT(nbd_send_request, nbd_send_request,
44
45         TP_PROTO(struct nbd_request *nbd_request, int index,
46                  struct request *rq),
47
48         TP_ARGS(nbd_request, index, rq),
49
50         sizeof(struct nbd_request)
51 );
52
53 #endif
54
55 /* This part must be outside protection */
56 #include <trace/define_trace.h>