Migrate tracepoint instrumentation to TP_FIELDS
[lttng-modules.git] / instrumentation / events / lttng-module / jbd.h
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM jbd
3
4 #if !defined(LTTNG_TRACE_JBD_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define LTTNG_TRACE_JBD_H
6
7 #include "../../../probes/lttng-tracepoint-event.h"
8 #include <linux/jbd.h>
9 #include <linux/version.h>
10
11 LTTNG_TRACEPOINT_EVENT(jbd_checkpoint,
12
13 TP_PROTO(journal_t *journal, int result),
14
15 TP_ARGS(journal, result),
16
17 TP_FIELDS(
18 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
19 ctf_integer(int, result, result)
20 )
21 )
22
23 LTTNG_TRACEPOINT_EVENT_CLASS(jbd_commit,
24
25 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
26
27 TP_ARGS(journal, commit_transaction),
28
29 TP_FIELDS(
30 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
31 #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
32 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
33 #endif
34 ctf_integer(int, transaction, commit_transaction->t_tid)
35 )
36 )
37
38 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd_commit, jbd_start_commit,
39
40 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
41
42 TP_ARGS(journal, commit_transaction)
43 )
44
45 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd_commit, jbd_commit_locking,
46
47 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
48
49 TP_ARGS(journal, commit_transaction)
50 )
51
52 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd_commit, jbd_commit_flushing,
53
54 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
55
56 TP_ARGS(journal, commit_transaction)
57 )
58
59 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd_commit, jbd_commit_logging,
60
61 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
62
63 TP_ARGS(journal, commit_transaction)
64 )
65
66 LTTNG_TRACEPOINT_EVENT(jbd_drop_transaction,
67
68 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
69
70 TP_ARGS(journal, commit_transaction),
71
72 TP_FIELDS(
73 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
74 #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
75 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
76 #endif
77 ctf_integer(int, transaction, commit_transaction->t_tid)
78 )
79 )
80
81 LTTNG_TRACEPOINT_EVENT(jbd_end_commit,
82 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
83
84 TP_ARGS(journal, commit_transaction),
85
86 TP_FIELDS(
87 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
88 #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
89 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
90 #endif
91 ctf_integer(int, transaction, commit_transaction->t_tid)
92 ctf_integer(int, head, journal->j_tail_sequence)
93 )
94 )
95
96 LTTNG_TRACEPOINT_EVENT(jbd_do_submit_data,
97 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
98
99 TP_ARGS(journal, commit_transaction),
100
101 TP_FIELDS(
102 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
103 #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
104 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
105 #endif
106 ctf_integer(int, transaction, commit_transaction->t_tid)
107 )
108 )
109
110 LTTNG_TRACEPOINT_EVENT(jbd_cleanup_journal_tail,
111
112 TP_PROTO(journal_t *journal, tid_t first_tid,
113 unsigned long block_nr, unsigned long freed),
114
115 TP_ARGS(journal, first_tid, block_nr, freed),
116
117 TP_FIELDS(
118 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
119 ctf_integer(tid_t, tail_sequence, journal->j_tail_sequence)
120 ctf_integer(tid_t, first_tid, first_tid)
121 ctf_integer(unsigned long, block_nr, block_nr)
122 ctf_integer(unsigned long, freed, freed)
123 )
124 )
125
126 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
127 LTTNG_TRACEPOINT_EVENT_MAP(journal_write_superblock,
128
129 jbd_journal_write_superblock,
130
131 TP_PROTO(journal_t *journal, int write_op),
132
133 TP_ARGS(journal, write_op),
134
135 TP_FIELDS(
136 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
137 ctf_integer(int, write_op, write_op)
138 )
139 )
140 #else
141 LTTNG_TRACEPOINT_EVENT(jbd_update_superblock_end,
142 TP_PROTO(journal_t *journal, int wait),
143
144 TP_ARGS(journal, wait),
145
146 TP_FIELDS(
147 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
148 ctf_integer(int, wait, wait)
149 ),
150
151 TP_fast_assign(
152 tp_assign(dev, journal->j_fs_dev->bd_dev)
153 tp_assign(wait, wait)
154 ),
155
156 TP_printk("dev %d,%d wait %d",
157 MAJOR(__entry->dev), MINOR(__entry->dev),
158 __entry->wait)
159 )
160 #endif
161
162 #endif /* LTTNG_TRACE_JBD_H */
163
164 /* This part must be outside protection */
165 #include "../../../probes/define_trace.h"
This page took 0.032363 seconds and 4 git commands to generate.