These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / include / trace / events / nilfs2.h
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM nilfs2
3
4 #if !defined(_TRACE_NILFS2_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_NILFS2_H
6
7 #include <linux/tracepoint.h>
8
9 struct nilfs_sc_info;
10
11 #define show_collection_stage(type)                                     \
12         __print_symbolic(type,                                          \
13         { NILFS_ST_INIT, "ST_INIT" },                                   \
14         { NILFS_ST_GC, "ST_GC" },                                       \
15         { NILFS_ST_FILE, "ST_FILE" },                                   \
16         { NILFS_ST_IFILE, "ST_IFILE" },                                 \
17         { NILFS_ST_CPFILE, "ST_CPFILE" },                               \
18         { NILFS_ST_SUFILE, "ST_SUFILE" },                               \
19         { NILFS_ST_DAT, "ST_DAT" },                                     \
20         { NILFS_ST_SR, "ST_SR" },                                       \
21         { NILFS_ST_DSYNC, "ST_DSYNC" },                                 \
22         { NILFS_ST_DONE, "ST_DONE"})
23
24 TRACE_EVENT(nilfs2_collection_stage_transition,
25
26             TP_PROTO(struct nilfs_sc_info *sci),
27
28             TP_ARGS(sci),
29
30             TP_STRUCT__entry(
31                     __field(void *, sci)
32                     __field(int, stage)
33             ),
34
35             TP_fast_assign(
36                         __entry->sci = sci;
37                         __entry->stage = sci->sc_stage.scnt;
38                     ),
39
40             TP_printk("sci = %p stage = %s",
41                       __entry->sci,
42                       show_collection_stage(__entry->stage))
43 );
44
45 #ifndef TRACE_HEADER_MULTI_READ
46 enum nilfs2_transaction_transition_state {
47         TRACE_NILFS2_TRANSACTION_BEGIN,
48         TRACE_NILFS2_TRANSACTION_COMMIT,
49         TRACE_NILFS2_TRANSACTION_ABORT,
50         TRACE_NILFS2_TRANSACTION_TRYLOCK,
51         TRACE_NILFS2_TRANSACTION_LOCK,
52         TRACE_NILFS2_TRANSACTION_UNLOCK,
53 };
54 #endif
55
56 #define show_transaction_state(type)                                    \
57         __print_symbolic(type,                                          \
58                          { TRACE_NILFS2_TRANSACTION_BEGIN, "BEGIN" },   \
59                          { TRACE_NILFS2_TRANSACTION_COMMIT, "COMMIT" }, \
60                          { TRACE_NILFS2_TRANSACTION_ABORT, "ABORT" },   \
61                          { TRACE_NILFS2_TRANSACTION_TRYLOCK, "TRYLOCK" }, \
62                          { TRACE_NILFS2_TRANSACTION_LOCK, "LOCK" },     \
63                          { TRACE_NILFS2_TRANSACTION_UNLOCK, "UNLOCK" })
64
65 TRACE_EVENT(nilfs2_transaction_transition,
66             TP_PROTO(struct super_block *sb,
67                      struct nilfs_transaction_info *ti,
68                      int count,
69                      unsigned int flags,
70                      enum nilfs2_transaction_transition_state state),
71
72             TP_ARGS(sb, ti, count, flags, state),
73
74             TP_STRUCT__entry(
75                     __field(void *, sb)
76                     __field(void *, ti)
77                     __field(int, count)
78                     __field(unsigned int, flags)
79                     __field(int, state)
80             ),
81
82             TP_fast_assign(
83                     __entry->sb = sb;
84                     __entry->ti = ti;
85                     __entry->count = count;
86                     __entry->flags = flags;
87                     __entry->state = state;
88                     ),
89
90             TP_printk("sb = %p ti = %p count = %d flags = %x state = %s",
91                       __entry->sb,
92                       __entry->ti,
93                       __entry->count,
94                       __entry->flags,
95                       show_transaction_state(__entry->state))
96 );
97
98 TRACE_EVENT(nilfs2_segment_usage_check,
99             TP_PROTO(struct inode *sufile,
100                      __u64 segnum,
101                      unsigned long cnt),
102
103             TP_ARGS(sufile, segnum, cnt),
104
105             TP_STRUCT__entry(
106                     __field(struct inode *, sufile)
107                     __field(__u64, segnum)
108                     __field(unsigned long, cnt)
109             ),
110
111             TP_fast_assign(
112                     __entry->sufile = sufile;
113                     __entry->segnum = segnum;
114                     __entry->cnt = cnt;
115                     ),
116
117             TP_printk("sufile = %p segnum = %llu cnt = %lu",
118                       __entry->sufile,
119                       __entry->segnum,
120                       __entry->cnt)
121 );
122
123 TRACE_EVENT(nilfs2_segment_usage_allocated,
124             TP_PROTO(struct inode *sufile,
125                      __u64 segnum),
126
127             TP_ARGS(sufile, segnum),
128
129             TP_STRUCT__entry(
130                     __field(struct inode *, sufile)
131                     __field(__u64, segnum)
132             ),
133
134             TP_fast_assign(
135                     __entry->sufile = sufile;
136                     __entry->segnum = segnum;
137                     ),
138
139             TP_printk("sufile = %p segnum = %llu",
140                       __entry->sufile,
141                       __entry->segnum)
142 );
143
144 TRACE_EVENT(nilfs2_segment_usage_freed,
145             TP_PROTO(struct inode *sufile,
146                      __u64 segnum),
147
148             TP_ARGS(sufile, segnum),
149
150             TP_STRUCT__entry(
151                     __field(struct inode *, sufile)
152                     __field(__u64, segnum)
153             ),
154
155             TP_fast_assign(
156                     __entry->sufile = sufile;
157                     __entry->segnum = segnum;
158                     ),
159
160             TP_printk("sufile = %p segnum = %llu",
161                       __entry->sufile,
162                       __entry->segnum)
163 );
164
165 TRACE_EVENT(nilfs2_mdt_insert_new_block,
166             TP_PROTO(struct inode *inode,
167                      unsigned long ino,
168                      unsigned long block),
169
170             TP_ARGS(inode, ino, block),
171
172             TP_STRUCT__entry(
173                     __field(struct inode *, inode)
174                     __field(unsigned long, ino)
175                     __field(unsigned long, block)
176             ),
177
178             TP_fast_assign(
179                     __entry->inode = inode;
180                     __entry->ino = ino;
181                     __entry->block = block;
182                     ),
183
184             TP_printk("inode = %p ino = %lu block = %lu",
185                       __entry->inode,
186                       __entry->ino,
187                       __entry->block)
188 );
189
190 TRACE_EVENT(nilfs2_mdt_submit_block,
191             TP_PROTO(struct inode *inode,
192                      unsigned long ino,
193                      unsigned long blkoff,
194                      int mode),
195
196             TP_ARGS(inode, ino, blkoff, mode),
197
198             TP_STRUCT__entry(
199                     __field(struct inode *, inode)
200                     __field(unsigned long, ino)
201                     __field(unsigned long, blkoff)
202                     __field(int, mode)
203             ),
204
205             TP_fast_assign(
206                     __entry->inode = inode;
207                     __entry->ino = ino;
208                     __entry->blkoff = blkoff;
209                     __entry->mode = mode;
210                     ),
211
212             TP_printk("inode = %p ino = %lu blkoff = %lu mode = %x",
213                       __entry->inode,
214                       __entry->ino,
215                       __entry->blkoff,
216                       __entry->mode)
217 );
218
219 #endif /* _TRACE_NILFS2_H */
220
221 /* This part must be outside protection */
222 #undef TRACE_INCLUDE_FILE
223 #define TRACE_INCLUDE_FILE nilfs2
224 #include <trace/define_trace.h>