Commit | Line | Data |
---|---|---|
b283666f PW |
1 | #undef TRACE_SYSTEM |
2 | #define TRACE_SYSTEM ext3 | |
3 | ||
4 | #if !defined(_TRACE_EXT3_H) || defined(TRACE_HEADER_MULTI_READ) | |
5 | #define _TRACE_EXT3_H | |
6 | ||
7 | #include <linux/tracepoint.h> | |
7c68b363 | 8 | #include <linux/version.h> |
b283666f | 9 | |
b283666f PW |
10 | TRACE_EVENT(ext3_free_inode, |
11 | TP_PROTO(struct inode *inode), | |
12 | ||
13 | TP_ARGS(inode), | |
14 | ||
15 | TP_STRUCT__entry( | |
16 | __field( dev_t, dev ) | |
17 | __field( ino_t, ino ) | |
18 | __field( umode_t, mode ) | |
19 | __field( uid_t, uid ) | |
20 | __field( gid_t, gid ) | |
21 | __field( blkcnt_t, blocks ) | |
22 | ), | |
23 | ||
24 | TP_fast_assign( | |
d3ac4d63 PW |
25 | tp_assign(dev, inode->i_sb->s_dev) |
26 | tp_assign(ino, inode->i_ino) | |
27 | tp_assign(mode, inode->i_mode) | |
7c68b363 AG |
28 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)) |
29 | tp_assign(uid, i_uid_read(inode)) | |
30 | tp_assign(gid, i_gid_read(inode)) | |
31 | #else | |
d3ac4d63 PW |
32 | tp_assign(uid, inode->i_uid) |
33 | tp_assign(gid, inode->i_gid) | |
7c68b363 | 34 | #endif |
d3ac4d63 | 35 | tp_assign(blocks, inode->i_blocks) |
b283666f PW |
36 | ), |
37 | ||
38 | TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %lu", | |
39 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
40 | (unsigned long) __entry->ino, | |
41 | __entry->mode, __entry->uid, __entry->gid, | |
42 | (unsigned long) __entry->blocks) | |
43 | ) | |
44 | ||
45 | TRACE_EVENT(ext3_request_inode, | |
46 | TP_PROTO(struct inode *dir, int mode), | |
47 | ||
48 | TP_ARGS(dir, mode), | |
49 | ||
50 | TP_STRUCT__entry( | |
51 | __field( dev_t, dev ) | |
52 | __field( ino_t, dir ) | |
53 | __field( umode_t, mode ) | |
54 | ), | |
55 | ||
56 | TP_fast_assign( | |
d3ac4d63 PW |
57 | tp_assign(dev, dir->i_sb->s_dev) |
58 | tp_assign(dir, dir->i_ino) | |
59 | tp_assign(mode, mode) | |
b283666f PW |
60 | ), |
61 | ||
62 | TP_printk("dev %d,%d dir %lu mode 0%o", | |
63 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
64 | (unsigned long) __entry->dir, __entry->mode) | |
65 | ) | |
66 | ||
67 | TRACE_EVENT(ext3_allocate_inode, | |
68 | TP_PROTO(struct inode *inode, struct inode *dir, int mode), | |
69 | ||
70 | TP_ARGS(inode, dir, mode), | |
71 | ||
72 | TP_STRUCT__entry( | |
73 | __field( dev_t, dev ) | |
74 | __field( ino_t, ino ) | |
75 | __field( ino_t, dir ) | |
76 | __field( umode_t, mode ) | |
77 | ), | |
78 | ||
79 | TP_fast_assign( | |
d3ac4d63 PW |
80 | tp_assign(dev, inode->i_sb->s_dev) |
81 | tp_assign(ino, inode->i_ino) | |
82 | tp_assign(dir, dir->i_ino) | |
83 | tp_assign(mode, mode) | |
b283666f PW |
84 | ), |
85 | ||
86 | TP_printk("dev %d,%d ino %lu dir %lu mode 0%o", | |
87 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
88 | (unsigned long) __entry->ino, | |
89 | (unsigned long) __entry->dir, __entry->mode) | |
90 | ) | |
91 | ||
92 | TRACE_EVENT(ext3_evict_inode, | |
93 | TP_PROTO(struct inode *inode), | |
94 | ||
95 | TP_ARGS(inode), | |
96 | ||
97 | TP_STRUCT__entry( | |
98 | __field( dev_t, dev ) | |
99 | __field( ino_t, ino ) | |
100 | __field( int, nlink ) | |
101 | ), | |
102 | ||
103 | TP_fast_assign( | |
d3ac4d63 PW |
104 | tp_assign(dev, inode->i_sb->s_dev) |
105 | tp_assign(ino, inode->i_ino) | |
106 | tp_assign(nlink, inode->i_nlink) | |
b283666f PW |
107 | ), |
108 | ||
109 | TP_printk("dev %d,%d ino %lu nlink %d", | |
110 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
111 | (unsigned long) __entry->ino, __entry->nlink) | |
112 | ) | |
113 | ||
114 | TRACE_EVENT(ext3_drop_inode, | |
115 | TP_PROTO(struct inode *inode, int drop), | |
116 | ||
117 | TP_ARGS(inode, drop), | |
118 | ||
119 | TP_STRUCT__entry( | |
120 | __field( dev_t, dev ) | |
121 | __field( ino_t, ino ) | |
122 | __field( int, drop ) | |
123 | ), | |
124 | ||
125 | TP_fast_assign( | |
d3ac4d63 PW |
126 | tp_assign(dev, inode->i_sb->s_dev) |
127 | tp_assign(ino, inode->i_ino) | |
128 | tp_assign(drop, drop) | |
b283666f PW |
129 | ), |
130 | ||
131 | TP_printk("dev %d,%d ino %lu drop %d", | |
132 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
133 | (unsigned long) __entry->ino, __entry->drop) | |
134 | ) | |
135 | ||
136 | TRACE_EVENT(ext3_mark_inode_dirty, | |
137 | TP_PROTO(struct inode *inode, unsigned long IP), | |
138 | ||
139 | TP_ARGS(inode, IP), | |
140 | ||
141 | TP_STRUCT__entry( | |
142 | __field( dev_t, dev ) | |
143 | __field( ino_t, ino ) | |
144 | __field(unsigned long, ip ) | |
145 | ), | |
146 | ||
147 | TP_fast_assign( | |
d3ac4d63 PW |
148 | tp_assign(dev, inode->i_sb->s_dev) |
149 | tp_assign(ino, inode->i_ino) | |
150 | tp_assign(ip, IP) | |
b283666f PW |
151 | ), |
152 | ||
153 | TP_printk("dev %d,%d ino %lu caller %pF", | |
154 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
155 | (unsigned long) __entry->ino, (void *)__entry->ip) | |
156 | ) | |
157 | ||
158 | TRACE_EVENT(ext3_write_begin, | |
159 | TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | |
160 | unsigned int flags), | |
161 | ||
162 | TP_ARGS(inode, pos, len, flags), | |
163 | ||
164 | TP_STRUCT__entry( | |
165 | __field( dev_t, dev ) | |
166 | __field( ino_t, ino ) | |
167 | __field( loff_t, pos ) | |
168 | __field( unsigned int, len ) | |
169 | __field( unsigned int, flags ) | |
170 | ), | |
171 | ||
172 | TP_fast_assign( | |
d3ac4d63 PW |
173 | tp_assign(dev, inode->i_sb->s_dev) |
174 | tp_assign(ino, inode->i_ino) | |
175 | tp_assign(pos, pos) | |
176 | tp_assign(len, len) | |
177 | tp_assign(flags, flags) | |
b283666f PW |
178 | ), |
179 | ||
180 | TP_printk("dev %d,%d ino %lu pos %llu len %u flags %u", | |
181 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
182 | (unsigned long) __entry->ino, | |
183 | (unsigned long long) __entry->pos, __entry->len, | |
184 | __entry->flags) | |
185 | ) | |
186 | ||
187 | DECLARE_EVENT_CLASS(ext3__write_end, | |
188 | TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | |
189 | unsigned int copied), | |
190 | ||
191 | TP_ARGS(inode, pos, len, copied), | |
192 | ||
193 | TP_STRUCT__entry( | |
194 | __field( dev_t, dev ) | |
195 | __field( ino_t, ino ) | |
196 | __field( loff_t, pos ) | |
197 | __field( unsigned int, len ) | |
198 | __field( unsigned int, copied ) | |
199 | ), | |
200 | ||
201 | TP_fast_assign( | |
d3ac4d63 PW |
202 | tp_assign(dev, inode->i_sb->s_dev) |
203 | tp_assign(ino, inode->i_ino) | |
204 | tp_assign(pos, pos) | |
205 | tp_assign(len, len) | |
206 | tp_assign(copied, copied) | |
b283666f PW |
207 | ), |
208 | ||
209 | TP_printk("dev %d,%d ino %lu pos %llu len %u copied %u", | |
210 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
211 | (unsigned long) __entry->ino, | |
212 | (unsigned long long) __entry->pos, __entry->len, | |
213 | __entry->copied) | |
214 | ) | |
215 | ||
216 | DEFINE_EVENT(ext3__write_end, ext3_ordered_write_end, | |
217 | ||
218 | TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | |
219 | unsigned int copied), | |
220 | ||
221 | TP_ARGS(inode, pos, len, copied) | |
222 | ) | |
223 | ||
224 | DEFINE_EVENT(ext3__write_end, ext3_writeback_write_end, | |
225 | ||
226 | TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | |
227 | unsigned int copied), | |
228 | ||
229 | TP_ARGS(inode, pos, len, copied) | |
230 | ) | |
231 | ||
232 | DEFINE_EVENT(ext3__write_end, ext3_journalled_write_end, | |
233 | ||
234 | TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | |
235 | unsigned int copied), | |
236 | ||
237 | TP_ARGS(inode, pos, len, copied) | |
238 | ) | |
239 | ||
240 | DECLARE_EVENT_CLASS(ext3__page_op, | |
241 | TP_PROTO(struct page *page), | |
242 | ||
243 | TP_ARGS(page), | |
244 | ||
245 | TP_STRUCT__entry( | |
246 | __field( dev_t, dev ) | |
247 | __field( ino_t, ino ) | |
248 | __field( pgoff_t, index ) | |
249 | ||
250 | ), | |
251 | ||
252 | TP_fast_assign( | |
d3ac4d63 PW |
253 | tp_assign(index, page->index) |
254 | tp_assign(ino, page->mapping->host->i_ino) | |
255 | tp_assign(dev, page->mapping->host->i_sb->s_dev) | |
b283666f PW |
256 | ), |
257 | ||
258 | TP_printk("dev %d,%d ino %lu page_index %lu", | |
259 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
260 | (unsigned long) __entry->ino, __entry->index) | |
261 | ) | |
262 | ||
263 | DEFINE_EVENT(ext3__page_op, ext3_ordered_writepage, | |
264 | ||
265 | TP_PROTO(struct page *page), | |
266 | ||
267 | TP_ARGS(page) | |
268 | ) | |
269 | ||
270 | DEFINE_EVENT(ext3__page_op, ext3_writeback_writepage, | |
271 | ||
272 | TP_PROTO(struct page *page), | |
273 | ||
274 | TP_ARGS(page) | |
275 | ) | |
276 | ||
277 | DEFINE_EVENT(ext3__page_op, ext3_journalled_writepage, | |
278 | ||
279 | TP_PROTO(struct page *page), | |
280 | ||
281 | TP_ARGS(page) | |
282 | ) | |
283 | ||
284 | DEFINE_EVENT(ext3__page_op, ext3_readpage, | |
285 | ||
286 | TP_PROTO(struct page *page), | |
287 | ||
288 | TP_ARGS(page) | |
289 | ) | |
290 | ||
291 | DEFINE_EVENT(ext3__page_op, ext3_releasepage, | |
292 | ||
293 | TP_PROTO(struct page *page), | |
294 | ||
295 | TP_ARGS(page) | |
296 | ) | |
297 | ||
298 | TRACE_EVENT(ext3_invalidatepage, | |
299 | TP_PROTO(struct page *page, unsigned long offset), | |
300 | ||
301 | TP_ARGS(page, offset), | |
302 | ||
303 | TP_STRUCT__entry( | |
304 | __field( pgoff_t, index ) | |
305 | __field( unsigned long, offset ) | |
306 | __field( ino_t, ino ) | |
307 | __field( dev_t, dev ) | |
308 | ||
309 | ), | |
310 | ||
311 | TP_fast_assign( | |
d3ac4d63 PW |
312 | tp_assign(index, page->index) |
313 | tp_assign(offset, offset) | |
314 | tp_assign(ino, page->mapping->host->i_ino) | |
315 | tp_assign(dev, page->mapping->host->i_sb->s_dev) | |
b283666f PW |
316 | ), |
317 | ||
318 | TP_printk("dev %d,%d ino %lu page_index %lu offset %lu", | |
319 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
320 | (unsigned long) __entry->ino, | |
321 | __entry->index, __entry->offset) | |
322 | ) | |
323 | ||
324 | TRACE_EVENT(ext3_discard_blocks, | |
325 | TP_PROTO(struct super_block *sb, unsigned long blk, | |
326 | unsigned long count), | |
327 | ||
328 | TP_ARGS(sb, blk, count), | |
329 | ||
330 | TP_STRUCT__entry( | |
331 | __field( dev_t, dev ) | |
332 | __field( unsigned long, blk ) | |
333 | __field( unsigned long, count ) | |
334 | ||
335 | ), | |
336 | ||
337 | TP_fast_assign( | |
d3ac4d63 PW |
338 | tp_assign(dev, sb->s_dev) |
339 | tp_assign(blk, blk) | |
340 | tp_assign(count, count) | |
b283666f PW |
341 | ), |
342 | ||
343 | TP_printk("dev %d,%d blk %lu count %lu", | |
344 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
345 | __entry->blk, __entry->count) | |
346 | ) | |
347 | ||
348 | TRACE_EVENT(ext3_request_blocks, | |
349 | TP_PROTO(struct inode *inode, unsigned long goal, | |
350 | unsigned long count), | |
351 | ||
352 | TP_ARGS(inode, goal, count), | |
353 | ||
354 | TP_STRUCT__entry( | |
355 | __field( dev_t, dev ) | |
356 | __field( ino_t, ino ) | |
357 | __field( unsigned long, count ) | |
358 | __field( unsigned long, goal ) | |
359 | ), | |
360 | ||
361 | TP_fast_assign( | |
d3ac4d63 PW |
362 | tp_assign(dev, inode->i_sb->s_dev) |
363 | tp_assign(ino, inode->i_ino) | |
364 | tp_assign(count, count) | |
365 | tp_assign(goal, goal) | |
b283666f PW |
366 | ), |
367 | ||
368 | TP_printk("dev %d,%d ino %lu count %lu goal %lu ", | |
369 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
370 | (unsigned long) __entry->ino, | |
371 | __entry->count, __entry->goal) | |
372 | ) | |
373 | ||
374 | TRACE_EVENT(ext3_allocate_blocks, | |
375 | TP_PROTO(struct inode *inode, unsigned long goal, | |
376 | unsigned long count, unsigned long block), | |
377 | ||
378 | TP_ARGS(inode, goal, count, block), | |
379 | ||
380 | TP_STRUCT__entry( | |
381 | __field( dev_t, dev ) | |
382 | __field( ino_t, ino ) | |
383 | __field( unsigned long, block ) | |
384 | __field( unsigned long, count ) | |
385 | __field( unsigned long, goal ) | |
386 | ), | |
387 | ||
388 | TP_fast_assign( | |
d3ac4d63 PW |
389 | tp_assign(dev, inode->i_sb->s_dev) |
390 | tp_assign(ino, inode->i_ino) | |
391 | tp_assign(block, block) | |
392 | tp_assign(count, count) | |
393 | tp_assign(goal, goal) | |
b283666f PW |
394 | ), |
395 | ||
396 | TP_printk("dev %d,%d ino %lu count %lu block %lu goal %lu", | |
397 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
398 | (unsigned long) __entry->ino, | |
399 | __entry->count, __entry->block, | |
400 | __entry->goal) | |
401 | ) | |
402 | ||
403 | TRACE_EVENT(ext3_free_blocks, | |
404 | TP_PROTO(struct inode *inode, unsigned long block, | |
405 | unsigned long count), | |
406 | ||
407 | TP_ARGS(inode, block, count), | |
408 | ||
409 | TP_STRUCT__entry( | |
410 | __field( dev_t, dev ) | |
411 | __field( ino_t, ino ) | |
412 | __field( umode_t, mode ) | |
413 | __field( unsigned long, block ) | |
414 | __field( unsigned long, count ) | |
415 | ), | |
416 | ||
417 | TP_fast_assign( | |
d3ac4d63 PW |
418 | tp_assign(dev, inode->i_sb->s_dev) |
419 | tp_assign(ino, inode->i_ino) | |
420 | tp_assign(mode, inode->i_mode) | |
421 | tp_assign(block, block) | |
422 | tp_assign(count, count) | |
b283666f PW |
423 | ), |
424 | ||
425 | TP_printk("dev %d,%d ino %lu mode 0%o block %lu count %lu", | |
426 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
427 | (unsigned long) __entry->ino, | |
428 | __entry->mode, __entry->block, __entry->count) | |
429 | ) | |
430 | ||
431 | TRACE_EVENT(ext3_sync_file_enter, | |
432 | TP_PROTO(struct file *file, int datasync), | |
433 | ||
434 | TP_ARGS(file, datasync), | |
435 | ||
436 | TP_STRUCT__entry( | |
437 | __field( dev_t, dev ) | |
438 | __field( ino_t, ino ) | |
439 | __field( ino_t, parent ) | |
440 | __field( int, datasync ) | |
441 | ), | |
442 | ||
443 | TP_fast_assign( | |
630bed30 AG |
444 | tp_assign(dev, file->f_path.dentry->d_inode->i_sb->s_dev) |
445 | tp_assign(ino, file->f_path.dentry->d_inode->i_ino) | |
d3ac4d63 | 446 | tp_assign(datasync, datasync) |
630bed30 | 447 | tp_assign(parent, file->f_path.dentry->d_parent->d_inode->i_ino) |
b283666f PW |
448 | ), |
449 | ||
450 | TP_printk("dev %d,%d ino %lu parent %ld datasync %d ", | |
451 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
452 | (unsigned long) __entry->ino, | |
453 | (unsigned long) __entry->parent, __entry->datasync) | |
454 | ) | |
455 | ||
456 | TRACE_EVENT(ext3_sync_file_exit, | |
457 | TP_PROTO(struct inode *inode, int ret), | |
458 | ||
459 | TP_ARGS(inode, ret), | |
460 | ||
461 | TP_STRUCT__entry( | |
462 | __field( int, ret ) | |
463 | __field( ino_t, ino ) | |
464 | __field( dev_t, dev ) | |
465 | ), | |
466 | ||
467 | TP_fast_assign( | |
d3ac4d63 PW |
468 | tp_assign(ret, ret) |
469 | tp_assign(ino, inode->i_ino) | |
470 | tp_assign(dev, inode->i_sb->s_dev) | |
b283666f PW |
471 | ), |
472 | ||
473 | TP_printk("dev %d,%d ino %lu ret %d", | |
474 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
475 | (unsigned long) __entry->ino, | |
476 | __entry->ret) | |
477 | ) | |
478 | ||
479 | TRACE_EVENT(ext3_sync_fs, | |
480 | TP_PROTO(struct super_block *sb, int wait), | |
481 | ||
482 | TP_ARGS(sb, wait), | |
483 | ||
484 | TP_STRUCT__entry( | |
485 | __field( dev_t, dev ) | |
486 | __field( int, wait ) | |
487 | ||
488 | ), | |
489 | ||
490 | TP_fast_assign( | |
d3ac4d63 PW |
491 | tp_assign(dev, sb->s_dev) |
492 | tp_assign(wait, wait) | |
b283666f PW |
493 | ), |
494 | ||
495 | TP_printk("dev %d,%d wait %d", | |
496 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
497 | __entry->wait) | |
498 | ) | |
499 | ||
500 | TRACE_EVENT(ext3_rsv_window_add, | |
501 | TP_PROTO(struct super_block *sb, | |
502 | struct ext3_reserve_window_node *rsv_node), | |
503 | ||
504 | TP_ARGS(sb, rsv_node), | |
505 | ||
506 | TP_STRUCT__entry( | |
507 | __field( unsigned long, start ) | |
508 | __field( unsigned long, end ) | |
509 | __field( dev_t, dev ) | |
510 | ), | |
511 | ||
512 | TP_fast_assign( | |
d3ac4d63 PW |
513 | tp_assign(dev, sb->s_dev) |
514 | tp_assign(start, rsv_node->rsv_window._rsv_start) | |
515 | tp_assign(end, rsv_node->rsv_window._rsv_end) | |
b283666f PW |
516 | ), |
517 | ||
518 | TP_printk("dev %d,%d start %lu end %lu", | |
519 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
520 | __entry->start, __entry->end) | |
521 | ) | |
522 | ||
523 | TRACE_EVENT(ext3_discard_reservation, | |
524 | TP_PROTO(struct inode *inode, | |
525 | struct ext3_reserve_window_node *rsv_node), | |
526 | ||
527 | TP_ARGS(inode, rsv_node), | |
528 | ||
529 | TP_STRUCT__entry( | |
530 | __field( unsigned long, start ) | |
531 | __field( unsigned long, end ) | |
532 | __field( ino_t, ino ) | |
533 | __field( dev_t, dev ) | |
534 | ), | |
535 | ||
536 | TP_fast_assign( | |
d3ac4d63 PW |
537 | tp_assign(start, rsv_node->rsv_window._rsv_start) |
538 | tp_assign(end, rsv_node->rsv_window._rsv_end) | |
539 | tp_assign(ino, inode->i_ino) | |
540 | tp_assign(dev, inode->i_sb->s_dev) | |
b283666f PW |
541 | ), |
542 | ||
543 | TP_printk("dev %d,%d ino %lu start %lu end %lu", | |
544 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
545 | (unsigned long)__entry->ino, __entry->start, | |
546 | __entry->end) | |
547 | ) | |
548 | ||
549 | TRACE_EVENT(ext3_alloc_new_reservation, | |
550 | TP_PROTO(struct super_block *sb, unsigned long goal), | |
551 | ||
552 | TP_ARGS(sb, goal), | |
553 | ||
554 | TP_STRUCT__entry( | |
555 | __field( dev_t, dev ) | |
556 | __field( unsigned long, goal ) | |
557 | ), | |
558 | ||
559 | TP_fast_assign( | |
d3ac4d63 PW |
560 | tp_assign(dev, sb->s_dev) |
561 | tp_assign(goal, goal) | |
b283666f PW |
562 | ), |
563 | ||
564 | TP_printk("dev %d,%d goal %lu", | |
565 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
566 | __entry->goal) | |
567 | ) | |
568 | ||
569 | TRACE_EVENT(ext3_reserved, | |
570 | TP_PROTO(struct super_block *sb, unsigned long block, | |
571 | struct ext3_reserve_window_node *rsv_node), | |
572 | ||
573 | TP_ARGS(sb, block, rsv_node), | |
574 | ||
575 | TP_STRUCT__entry( | |
576 | __field( unsigned long, block ) | |
577 | __field( unsigned long, start ) | |
578 | __field( unsigned long, end ) | |
579 | __field( dev_t, dev ) | |
580 | ), | |
581 | ||
582 | TP_fast_assign( | |
d3ac4d63 PW |
583 | tp_assign(block, block) |
584 | tp_assign(start, rsv_node->rsv_window._rsv_start) | |
585 | tp_assign(end, rsv_node->rsv_window._rsv_end) | |
586 | tp_assign(dev, sb->s_dev) | |
b283666f PW |
587 | ), |
588 | ||
589 | TP_printk("dev %d,%d block %lu, start %lu end %lu", | |
590 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
591 | __entry->block, __entry->start, __entry->end) | |
592 | ) | |
593 | ||
594 | TRACE_EVENT(ext3_forget, | |
595 | TP_PROTO(struct inode *inode, int is_metadata, unsigned long block), | |
596 | ||
597 | TP_ARGS(inode, is_metadata, block), | |
598 | ||
599 | TP_STRUCT__entry( | |
600 | __field( dev_t, dev ) | |
601 | __field( ino_t, ino ) | |
602 | __field( umode_t, mode ) | |
603 | __field( int, is_metadata ) | |
604 | __field( unsigned long, block ) | |
605 | ), | |
606 | ||
607 | TP_fast_assign( | |
d3ac4d63 PW |
608 | tp_assign(dev, inode->i_sb->s_dev) |
609 | tp_assign(ino, inode->i_ino) | |
610 | tp_assign(mode, inode->i_mode) | |
611 | tp_assign(is_metadata, is_metadata) | |
612 | tp_assign(block, block) | |
b283666f PW |
613 | ), |
614 | ||
615 | TP_printk("dev %d,%d ino %lu mode 0%o is_metadata %d block %lu", | |
616 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
617 | (unsigned long) __entry->ino, | |
618 | __entry->mode, __entry->is_metadata, __entry->block) | |
619 | ) | |
620 | ||
621 | TRACE_EVENT(ext3_read_block_bitmap, | |
622 | TP_PROTO(struct super_block *sb, unsigned int group), | |
623 | ||
624 | TP_ARGS(sb, group), | |
625 | ||
626 | TP_STRUCT__entry( | |
627 | __field( dev_t, dev ) | |
628 | __field( __u32, group ) | |
629 | ||
630 | ), | |
631 | ||
632 | TP_fast_assign( | |
d3ac4d63 PW |
633 | tp_assign(dev, sb->s_dev) |
634 | tp_assign(group, group) | |
b283666f PW |
635 | ), |
636 | ||
637 | TP_printk("dev %d,%d group %u", | |
638 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
639 | __entry->group) | |
640 | ) | |
641 | ||
642 | TRACE_EVENT(ext3_direct_IO_enter, | |
643 | TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw), | |
644 | ||
645 | TP_ARGS(inode, offset, len, rw), | |
646 | ||
647 | TP_STRUCT__entry( | |
648 | __field( ino_t, ino ) | |
649 | __field( dev_t, dev ) | |
650 | __field( loff_t, pos ) | |
651 | __field( unsigned long, len ) | |
652 | __field( int, rw ) | |
653 | ), | |
654 | ||
655 | TP_fast_assign( | |
d3ac4d63 PW |
656 | tp_assign(ino, inode->i_ino) |
657 | tp_assign(dev, inode->i_sb->s_dev) | |
658 | tp_assign(pos, offset) | |
659 | tp_assign(len, len) | |
660 | tp_assign(rw, rw) | |
b283666f PW |
661 | ), |
662 | ||
663 | TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d", | |
664 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
665 | (unsigned long) __entry->ino, | |
666 | (unsigned long long) __entry->pos, __entry->len, | |
667 | __entry->rw) | |
668 | ) | |
669 | ||
670 | TRACE_EVENT(ext3_direct_IO_exit, | |
671 | TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, | |
672 | int rw, int ret), | |
673 | ||
674 | TP_ARGS(inode, offset, len, rw, ret), | |
675 | ||
676 | TP_STRUCT__entry( | |
677 | __field( ino_t, ino ) | |
678 | __field( dev_t, dev ) | |
679 | __field( loff_t, pos ) | |
680 | __field( unsigned long, len ) | |
681 | __field( int, rw ) | |
682 | __field( int, ret ) | |
683 | ), | |
684 | ||
685 | TP_fast_assign( | |
d3ac4d63 PW |
686 | tp_assign(ino, inode->i_ino) |
687 | tp_assign(dev, inode->i_sb->s_dev) | |
688 | tp_assign(pos, offset) | |
689 | tp_assign(len, len) | |
690 | tp_assign(rw, rw) | |
691 | tp_assign(ret, ret) | |
b283666f PW |
692 | ), |
693 | ||
694 | TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d ret %d", | |
695 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
696 | (unsigned long) __entry->ino, | |
697 | (unsigned long long) __entry->pos, __entry->len, | |
698 | __entry->rw, __entry->ret) | |
699 | ) | |
700 | ||
701 | TRACE_EVENT(ext3_unlink_enter, | |
702 | TP_PROTO(struct inode *parent, struct dentry *dentry), | |
703 | ||
704 | TP_ARGS(parent, dentry), | |
705 | ||
706 | TP_STRUCT__entry( | |
707 | __field( ino_t, parent ) | |
708 | __field( ino_t, ino ) | |
709 | __field( loff_t, size ) | |
710 | __field( dev_t, dev ) | |
711 | ), | |
712 | ||
713 | TP_fast_assign( | |
d3ac4d63 PW |
714 | tp_assign(parent, parent->i_ino) |
715 | tp_assign(ino, dentry->d_inode->i_ino) | |
716 | tp_assign(size, dentry->d_inode->i_size) | |
717 | tp_assign(dev, dentry->d_inode->i_sb->s_dev) | |
b283666f PW |
718 | ), |
719 | ||
720 | TP_printk("dev %d,%d ino %lu size %lld parent %ld", | |
721 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
722 | (unsigned long) __entry->ino, | |
723 | (unsigned long long)__entry->size, | |
724 | (unsigned long) __entry->parent) | |
725 | ) | |
726 | ||
727 | TRACE_EVENT(ext3_unlink_exit, | |
728 | TP_PROTO(struct dentry *dentry, int ret), | |
729 | ||
730 | TP_ARGS(dentry, ret), | |
731 | ||
732 | TP_STRUCT__entry( | |
733 | __field( ino_t, ino ) | |
734 | __field( dev_t, dev ) | |
735 | __field( int, ret ) | |
736 | ), | |
737 | ||
738 | TP_fast_assign( | |
d3ac4d63 PW |
739 | tp_assign(ino, dentry->d_inode->i_ino) |
740 | tp_assign(dev, dentry->d_inode->i_sb->s_dev) | |
741 | tp_assign(ret, ret) | |
b283666f PW |
742 | ), |
743 | ||
744 | TP_printk("dev %d,%d ino %lu ret %d", | |
745 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
746 | (unsigned long) __entry->ino, | |
747 | __entry->ret) | |
748 | ) | |
749 | ||
750 | DECLARE_EVENT_CLASS(ext3__truncate, | |
751 | TP_PROTO(struct inode *inode), | |
752 | ||
753 | TP_ARGS(inode), | |
754 | ||
755 | TP_STRUCT__entry( | |
756 | __field( ino_t, ino ) | |
757 | __field( dev_t, dev ) | |
758 | __field( blkcnt_t, blocks ) | |
759 | ), | |
760 | ||
761 | TP_fast_assign( | |
d3ac4d63 PW |
762 | tp_assign(ino, inode->i_ino) |
763 | tp_assign(dev, inode->i_sb->s_dev) | |
764 | tp_assign(blocks, inode->i_blocks) | |
b283666f PW |
765 | ), |
766 | ||
767 | TP_printk("dev %d,%d ino %lu blocks %lu", | |
768 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
769 | (unsigned long) __entry->ino, (unsigned long) __entry->blocks) | |
770 | ) | |
771 | ||
772 | DEFINE_EVENT(ext3__truncate, ext3_truncate_enter, | |
773 | ||
774 | TP_PROTO(struct inode *inode), | |
775 | ||
776 | TP_ARGS(inode) | |
777 | ) | |
778 | ||
779 | DEFINE_EVENT(ext3__truncate, ext3_truncate_exit, | |
780 | ||
781 | TP_PROTO(struct inode *inode), | |
782 | ||
783 | TP_ARGS(inode) | |
784 | ) | |
785 | ||
786 | TRACE_EVENT(ext3_get_blocks_enter, | |
787 | TP_PROTO(struct inode *inode, unsigned long lblk, | |
788 | unsigned long len, int create), | |
789 | ||
790 | TP_ARGS(inode, lblk, len, create), | |
791 | ||
792 | TP_STRUCT__entry( | |
793 | __field( ino_t, ino ) | |
794 | __field( dev_t, dev ) | |
795 | __field( unsigned long, lblk ) | |
796 | __field( unsigned long, len ) | |
797 | __field( int, create ) | |
798 | ), | |
799 | ||
800 | TP_fast_assign( | |
d3ac4d63 PW |
801 | tp_assign(ino, inode->i_ino) |
802 | tp_assign(dev, inode->i_sb->s_dev) | |
803 | tp_assign(lblk, lblk) | |
804 | tp_assign(len, len) | |
805 | tp_assign(create, create) | |
b283666f PW |
806 | ), |
807 | ||
808 | TP_printk("dev %d,%d ino %lu lblk %lu len %lu create %u", | |
809 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
810 | (unsigned long) __entry->ino, | |
811 | __entry->lblk, __entry->len, __entry->create) | |
812 | ) | |
813 | ||
814 | TRACE_EVENT(ext3_get_blocks_exit, | |
815 | TP_PROTO(struct inode *inode, unsigned long lblk, | |
816 | unsigned long pblk, unsigned long len, int ret), | |
817 | ||
818 | TP_ARGS(inode, lblk, pblk, len, ret), | |
819 | ||
820 | TP_STRUCT__entry( | |
821 | __field( ino_t, ino ) | |
822 | __field( dev_t, dev ) | |
823 | __field( unsigned long, lblk ) | |
824 | __field( unsigned long, pblk ) | |
825 | __field( unsigned long, len ) | |
826 | __field( int, ret ) | |
827 | ), | |
828 | ||
829 | TP_fast_assign( | |
d3ac4d63 PW |
830 | tp_assign(ino, inode->i_ino) |
831 | tp_assign(dev, inode->i_sb->s_dev) | |
832 | tp_assign(lblk, lblk) | |
833 | tp_assign(pblk, pblk) | |
834 | tp_assign(len, len) | |
835 | tp_assign(ret, ret) | |
b283666f PW |
836 | ), |
837 | ||
838 | TP_printk("dev %d,%d ino %lu lblk %lu pblk %lu len %lu ret %d", | |
839 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
840 | (unsigned long) __entry->ino, | |
841 | __entry->lblk, __entry->pblk, | |
842 | __entry->len, __entry->ret) | |
843 | ) | |
844 | ||
845 | TRACE_EVENT(ext3_load_inode, | |
846 | TP_PROTO(struct inode *inode), | |
847 | ||
848 | TP_ARGS(inode), | |
849 | ||
850 | TP_STRUCT__entry( | |
851 | __field( ino_t, ino ) | |
852 | __field( dev_t, dev ) | |
853 | ), | |
854 | ||
855 | TP_fast_assign( | |
d3ac4d63 PW |
856 | tp_assign(ino, inode->i_ino) |
857 | tp_assign(dev, inode->i_sb->s_dev) | |
b283666f PW |
858 | ), |
859 | ||
860 | TP_printk("dev %d,%d ino %lu", | |
861 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
862 | (unsigned long) __entry->ino) | |
863 | ) | |
864 | ||
865 | #endif /* _TRACE_EXT3_H */ | |
866 | ||
867 | /* This part must be outside protection */ | |
868 | #include "../../../probes/define_trace.h" |