jbd.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. #undef TRACE_SYSTEM
  2. #define TRACE_SYSTEM jbd
  3. #if !defined(_TRACE_JBD_H) || defined(TRACE_HEADER_MULTI_READ)
  4. #define _TRACE_JBD_H
  5. #include <linux/jbd.h>
  6. #include <linux/tracepoint.h>
  7. TRACE_EVENT(jbd_checkpoint,
  8. TP_PROTO(journal_t *journal, int result),
  9. TP_ARGS(journal, result),
  10. TP_STRUCT__entry(
  11. __field( dev_t, dev )
  12. __field( int, result )
  13. ),
  14. TP_fast_assign(
  15. __entry->dev = journal->j_fs_dev->bd_dev;
  16. __entry->result = result;
  17. ),
  18. TP_printk("dev %d,%d result %d",
  19. MAJOR(__entry->dev), MINOR(__entry->dev),
  20. __entry->result)
  21. );
  22. DECLARE_EVENT_CLASS(jbd_commit,
  23. TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  24. TP_ARGS(journal, commit_transaction),
  25. TP_STRUCT__entry(
  26. __field( dev_t, dev )
  27. __field( int, transaction )
  28. ),
  29. TP_fast_assign(
  30. __entry->dev = journal->j_fs_dev->bd_dev;
  31. __entry->transaction = commit_transaction->t_tid;
  32. ),
  33. TP_printk("dev %d,%d transaction %d",
  34. MAJOR(__entry->dev), MINOR(__entry->dev),
  35. __entry->transaction)
  36. );
  37. DEFINE_EVENT(jbd_commit, jbd_start_commit,
  38. TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  39. TP_ARGS(journal, commit_transaction)
  40. );
  41. DEFINE_EVENT(jbd_commit, jbd_commit_locking,
  42. TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  43. TP_ARGS(journal, commit_transaction)
  44. );
  45. DEFINE_EVENT(jbd_commit, jbd_commit_flushing,
  46. TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  47. TP_ARGS(journal, commit_transaction)
  48. );
  49. DEFINE_EVENT(jbd_commit, jbd_commit_logging,
  50. TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  51. TP_ARGS(journal, commit_transaction)
  52. );
  53. TRACE_EVENT(jbd_drop_transaction,
  54. TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  55. TP_ARGS(journal, commit_transaction),
  56. TP_STRUCT__entry(
  57. __field( dev_t, dev )
  58. __field( int, transaction )
  59. ),
  60. TP_fast_assign(
  61. __entry->dev = journal->j_fs_dev->bd_dev;
  62. __entry->transaction = commit_transaction->t_tid;
  63. ),
  64. TP_printk("dev %d,%d transaction %d",
  65. MAJOR(__entry->dev), MINOR(__entry->dev),
  66. __entry->transaction)
  67. );
  68. TRACE_EVENT(jbd_end_commit,
  69. TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  70. TP_ARGS(journal, commit_transaction),
  71. TP_STRUCT__entry(
  72. __field( dev_t, dev )
  73. __field( int, transaction )
  74. __field( int, head )
  75. ),
  76. TP_fast_assign(
  77. __entry->dev = journal->j_fs_dev->bd_dev;
  78. __entry->transaction = commit_transaction->t_tid;
  79. __entry->head = journal->j_tail_sequence;
  80. ),
  81. TP_printk("dev %d,%d transaction %d head %d",
  82. MAJOR(__entry->dev), MINOR(__entry->dev),
  83. __entry->transaction, __entry->head)
  84. );
  85. TRACE_EVENT(jbd_do_submit_data,
  86. TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  87. TP_ARGS(journal, commit_transaction),
  88. TP_STRUCT__entry(
  89. __field( dev_t, dev )
  90. __field( int, transaction )
  91. ),
  92. TP_fast_assign(
  93. __entry->dev = journal->j_fs_dev->bd_dev;
  94. __entry->transaction = commit_transaction->t_tid;
  95. ),
  96. TP_printk("dev %d,%d transaction %d",
  97. MAJOR(__entry->dev), MINOR(__entry->dev),
  98. __entry->transaction)
  99. );
  100. TRACE_EVENT(jbd_cleanup_journal_tail,
  101. TP_PROTO(journal_t *journal, tid_t first_tid,
  102. unsigned long block_nr, unsigned long freed),
  103. TP_ARGS(journal, first_tid, block_nr, freed),
  104. TP_STRUCT__entry(
  105. __field( dev_t, dev )
  106. __field( tid_t, tail_sequence )
  107. __field( tid_t, first_tid )
  108. __field(unsigned long, block_nr )
  109. __field(unsigned long, freed )
  110. ),
  111. TP_fast_assign(
  112. __entry->dev = journal->j_fs_dev->bd_dev;
  113. __entry->tail_sequence = journal->j_tail_sequence;
  114. __entry->first_tid = first_tid;
  115. __entry->block_nr = block_nr;
  116. __entry->freed = freed;
  117. ),
  118. TP_printk("dev %d,%d from %u to %u offset %lu freed %lu",
  119. MAJOR(__entry->dev), MINOR(__entry->dev),
  120. __entry->tail_sequence, __entry->first_tid,
  121. __entry->block_nr, __entry->freed)
  122. );
  123. TRACE_EVENT(journal_write_superblock,
  124. TP_PROTO(journal_t *journal, int write_op),
  125. TP_ARGS(journal, write_op),
  126. TP_STRUCT__entry(
  127. __field( dev_t, dev )
  128. __field( int, write_op )
  129. ),
  130. TP_fast_assign(
  131. __entry->dev = journal->j_fs_dev->bd_dev;
  132. __entry->write_op = write_op;
  133. ),
  134. TP_printk("dev %d,%d write_op %x", MAJOR(__entry->dev),
  135. MINOR(__entry->dev), __entry->write_op)
  136. );
  137. #endif /* _TRACE_JBD_H */
  138. /* This part must be outside protection */
  139. #include <trace/define_trace.h>