Cleanup: move to kernel style SPDX license identifiers
[lttng-modules.git] / instrumentation / events / lttng-module / jbd2.h
CommitLineData
9f36eaed 1/* SPDX-License-Identifier: GPL-2.0 */
b283666f
PW
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM jbd2
4
3bc29f0a
MD
5#if !defined(LTTNG_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ)
6#define LTTNG_TRACE_JBD2_H
b283666f 7
6ec43db8 8#include <probes/lttng-tracepoint-event.h>
b283666f 9#include <linux/jbd2.h>
7c68b363 10#include <linux/version.h>
b283666f 11
7c68b363 12#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
b283666f
PW
13#ifndef _TRACE_JBD2_DEF
14#define _TRACE_JBD2_DEF
15struct transaction_chp_stats_s;
16struct transaction_run_stats_s;
17#endif
7c68b363 18#endif
b283666f 19
3bc29f0a 20LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint,
b283666f
PW
21
22 TP_PROTO(journal_t *journal, int result),
23
24 TP_ARGS(journal, result),
25
f127e61e
MD
26 TP_FIELDS(
27 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
28 ctf_integer(int, result, result)
29 )
b283666f
PW
30)
31
3bc29f0a 32LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit,
b283666f
PW
33
34 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
35
36 TP_ARGS(journal, commit_transaction),
37
f127e61e
MD
38 TP_FIELDS(
39 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
40 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
41 ctf_integer(int, transaction, commit_transaction->t_tid)
42 )
b283666f
PW
43)
44
3bc29f0a 45LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_start_commit,
b283666f
PW
46
47 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
48
49 TP_ARGS(journal, commit_transaction)
50)
51
3bc29f0a 52LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_locking,
b283666f
PW
53
54 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
55
56 TP_ARGS(journal, commit_transaction)
57)
58
3bc29f0a 59LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_flushing,
b283666f
PW
60
61 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
62
63 TP_ARGS(journal, commit_transaction)
64)
65
3bc29f0a 66LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_logging,
b283666f
PW
67
68 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
69
70 TP_ARGS(journal, commit_transaction)
71)
72
7c68b363 73#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
3bc29f0a 74LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_drop_transaction,
7c68b363
AG
75
76 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
77
78 TP_ARGS(journal, commit_transaction)
79)
80#endif
81
3bc29f0a 82LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
b283666f
PW
83 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
84
85 TP_ARGS(journal, commit_transaction),
86
f127e61e
MD
87 TP_FIELDS(
88 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
89 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
90 ctf_integer(int, transaction, commit_transaction->t_tid)
91 ctf_integer(int, head, journal->j_tail_sequence)
92 )
b283666f
PW
93)
94
3bc29f0a 95LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data,
b283666f
PW
96 TP_PROTO(struct inode *inode),
97
98 TP_ARGS(inode),
99
f127e61e
MD
100 TP_FIELDS(
101 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
102 ctf_integer(ino_t, ino, inode->i_ino)
103 )
b283666f
PW
104)
105
7c68b363 106#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
3bc29f0a 107LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
b283666f
PW
108 TP_PROTO(dev_t dev, unsigned long tid,
109 struct transaction_run_stats_s *stats),
110
111 TP_ARGS(dev, tid, stats),
112
f127e61e
MD
113 TP_FIELDS(
114 ctf_integer(dev_t, dev, dev)
115 ctf_integer(unsigned long, tid, tid)
116 ctf_integer(unsigned long, wait, stats->rs_wait)
117 ctf_integer(unsigned long, running, stats->rs_running)
118 ctf_integer(unsigned long, locked, stats->rs_locked)
119 ctf_integer(unsigned long, flushing, stats->rs_flushing)
120 ctf_integer(unsigned long, logging, stats->rs_logging)
121 ctf_integer(__u32, handle_count, stats->rs_handle_count)
122 ctf_integer(__u32, blocks, stats->rs_blocks)
123 ctf_integer(__u32, blocks_logged, stats->rs_blocks_logged)
124 )
b283666f
PW
125)
126
3bc29f0a 127LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
b283666f
PW
128 TP_PROTO(dev_t dev, unsigned long tid,
129 struct transaction_chp_stats_s *stats),
130
131 TP_ARGS(dev, tid, stats),
132
f127e61e
MD
133 TP_FIELDS(
134 ctf_integer(dev_t, dev, dev)
135 ctf_integer(unsigned long, tid, tid)
136 ctf_integer(unsigned long, chp_time, stats->cs_chp_time)
137 ctf_integer(__u32, forced_to_close, stats->cs_forced_to_close)
138 ctf_integer(__u32, written, stats->cs_written)
139 ctf_integer(__u32, dropped, stats->cs_dropped)
140 )
b283666f 141)
7c68b363 142#endif
b283666f 143
7c68b363
AG
144#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
145#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
3bc29f0a 146LTTNG_TRACEPOINT_EVENT(jbd2_update_log_tail,
7c68b363 147#else
3bc29f0a 148LTTNG_TRACEPOINT_EVENT(jbd2_cleanup_journal_tail,
7c68b363 149#endif
b283666f
PW
150
151 TP_PROTO(journal_t *journal, tid_t first_tid,
152 unsigned long block_nr, unsigned long freed),
153
154 TP_ARGS(journal, first_tid, block_nr, freed),
155
f127e61e
MD
156 TP_FIELDS(
157 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
158 ctf_integer(tid_t, tail_sequence, journal->j_tail_sequence)
159 ctf_integer(tid_t, first_tid, first_tid)
160 ctf_integer(unsigned long, block_nr, block_nr)
161 ctf_integer(unsigned long, freed, freed)
162 )
b283666f 163)
7c68b363
AG
164#endif
165
166#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
3bc29f0a 167LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock,
7c68b363
AG
168
169 TP_PROTO(journal_t *journal, int write_op),
170
171 TP_ARGS(journal, write_op),
172
f127e61e
MD
173 TP_FIELDS(
174 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
175 ctf_integer(int, write_op, write_op)
176 )
7c68b363
AG
177)
178#endif
b283666f 179
3bc29f0a 180#endif /* LTTNG_TRACE_JBD2_H */
b283666f
PW
181
182/* This part must be outside protection */
6ec43db8 183#include <probes/define_trace.h>
This page took 0.038989 seconds and 4 git commands to generate.