pandora: defconfig: update
[pandora-kernel.git] / include / trace / events / jbd.h
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM jbd
3
4 #if !defined(_TRACE_JBD_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_JBD_H
6
7 #include <linux/jbd.h>
8 #include <linux/tracepoint.h>
9
10 TRACE_EVENT(jbd_checkpoint,
11
12         TP_PROTO(journal_t *journal, int result),
13
14         TP_ARGS(journal, result),
15
16         TP_STRUCT__entry(
17                 __field(        dev_t,  dev                     )
18                 __field(        int,    result                  )
19         ),
20
21         TP_fast_assign(
22                 __entry->dev            = journal->j_fs_dev->bd_dev;
23                 __entry->result         = result;
24         ),
25
26         TP_printk("dev %d,%d result %d",
27                   MAJOR(__entry->dev), MINOR(__entry->dev),
28                   __entry->result)
29 );
30
31 DECLARE_EVENT_CLASS(jbd_commit,
32
33         TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
34
35         TP_ARGS(journal, commit_transaction),
36
37         TP_STRUCT__entry(
38                 __field(        dev_t,  dev                     )
39                 __field(        char,   sync_commit             )
40                 __field(        int,    transaction             )
41         ),
42
43         TP_fast_assign(
44                 __entry->dev            = journal->j_fs_dev->bd_dev;
45                 __entry->sync_commit = commit_transaction->t_synchronous_commit;
46                 __entry->transaction    = commit_transaction->t_tid;
47         ),
48
49         TP_printk("dev %d,%d transaction %d sync %d",
50                   MAJOR(__entry->dev), MINOR(__entry->dev),
51                   __entry->transaction, __entry->sync_commit)
52 );
53
54 DEFINE_EVENT(jbd_commit, jbd_start_commit,
55
56         TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
57
58         TP_ARGS(journal, commit_transaction)
59 );
60
61 DEFINE_EVENT(jbd_commit, jbd_commit_locking,
62
63         TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
64
65         TP_ARGS(journal, commit_transaction)
66 );
67
68 DEFINE_EVENT(jbd_commit, jbd_commit_flushing,
69
70         TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
71
72         TP_ARGS(journal, commit_transaction)
73 );
74
75 DEFINE_EVENT(jbd_commit, jbd_commit_logging,
76
77         TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
78
79         TP_ARGS(journal, commit_transaction)
80 );
81
82 TRACE_EVENT(jbd_drop_transaction,
83
84         TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
85
86         TP_ARGS(journal, commit_transaction),
87
88         TP_STRUCT__entry(
89                 __field(        dev_t,  dev                     )
90                 __field(        char,   sync_commit             )
91                 __field(        int,    transaction             )
92         ),
93
94         TP_fast_assign(
95                 __entry->dev            = journal->j_fs_dev->bd_dev;
96                 __entry->sync_commit = commit_transaction->t_synchronous_commit;
97                 __entry->transaction    = commit_transaction->t_tid;
98         ),
99
100         TP_printk("dev %d,%d transaction %d sync %d",
101                   MAJOR(__entry->dev), MINOR(__entry->dev),
102                   __entry->transaction, __entry->sync_commit)
103 );
104
105 TRACE_EVENT(jbd_end_commit,
106         TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
107
108         TP_ARGS(journal, commit_transaction),
109
110         TP_STRUCT__entry(
111                 __field(        dev_t,  dev                     )
112                 __field(        char,   sync_commit             )
113                 __field(        int,    transaction             )
114                 __field(        int,    head                    )
115         ),
116
117         TP_fast_assign(
118                 __entry->dev            = journal->j_fs_dev->bd_dev;
119                 __entry->sync_commit = commit_transaction->t_synchronous_commit;
120                 __entry->transaction    = commit_transaction->t_tid;
121                 __entry->head           = journal->j_tail_sequence;
122         ),
123
124         TP_printk("dev %d,%d transaction %d sync %d head %d",
125                   MAJOR(__entry->dev), MINOR(__entry->dev),
126                   __entry->transaction, __entry->sync_commit, __entry->head)
127 );
128
129 TRACE_EVENT(jbd_do_submit_data,
130         TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
131
132         TP_ARGS(journal, commit_transaction),
133
134         TP_STRUCT__entry(
135                 __field(        dev_t,  dev                     )
136                 __field(        char,   sync_commit             )
137                 __field(        int,    transaction             )
138         ),
139
140         TP_fast_assign(
141                 __entry->dev            = journal->j_fs_dev->bd_dev;
142                 __entry->sync_commit = commit_transaction->t_synchronous_commit;
143                 __entry->transaction    = commit_transaction->t_tid;
144         ),
145
146         TP_printk("dev %d,%d transaction %d sync %d",
147                   MAJOR(__entry->dev), MINOR(__entry->dev),
148                    __entry->transaction, __entry->sync_commit)
149 );
150
151 TRACE_EVENT(jbd_cleanup_journal_tail,
152
153         TP_PROTO(journal_t *journal, tid_t first_tid,
154                  unsigned long block_nr, unsigned long freed),
155
156         TP_ARGS(journal, first_tid, block_nr, freed),
157
158         TP_STRUCT__entry(
159                 __field(        dev_t,  dev                     )
160                 __field(        tid_t,  tail_sequence           )
161                 __field(        tid_t,  first_tid               )
162                 __field(unsigned long,  block_nr                )
163                 __field(unsigned long,  freed                   )
164         ),
165
166         TP_fast_assign(
167                 __entry->dev            = journal->j_fs_dev->bd_dev;
168                 __entry->tail_sequence  = journal->j_tail_sequence;
169                 __entry->first_tid      = first_tid;
170                 __entry->block_nr       = block_nr;
171                 __entry->freed          = freed;
172         ),
173
174         TP_printk("dev %d,%d from %u to %u offset %lu freed %lu",
175                   MAJOR(__entry->dev), MINOR(__entry->dev),
176                   __entry->tail_sequence, __entry->first_tid,
177                   __entry->block_nr, __entry->freed)
178 );
179
180 TRACE_EVENT(jbd_update_superblock_end,
181         TP_PROTO(journal_t *journal, int wait),
182
183         TP_ARGS(journal, wait),
184
185         TP_STRUCT__entry(
186                 __field(        dev_t,  dev                     )
187                 __field(        int,    wait                    )
188         ),
189
190         TP_fast_assign(
191                 __entry->dev            = journal->j_fs_dev->bd_dev;
192                 __entry->wait           = wait;
193         ),
194
195         TP_printk("dev %d,%d wait %d",
196                   MAJOR(__entry->dev), MINOR(__entry->dev),
197                    __entry->wait)
198 );
199
200 #endif /* _TRACE_JBD_H */
201
202 /* This part must be outside protection */
203 #include <trace/define_trace.h>