Loading fs/btrfs/qgroup.c +4 −0 Original line number Diff line number Diff line Loading @@ -1335,6 +1335,8 @@ int btrfs_qgroup_record_ref(struct btrfs_trans_handle *trans, INIT_LIST_HEAD(&oper->elem.list); oper->elem.seq = 0; trace_btrfs_qgroup_record_ref(oper); if (type == BTRFS_QGROUP_OPER_SUB_SUBTREE) { /* * If any operation for this bytenr/ref_root combo Loading Loading @@ -2077,6 +2079,8 @@ static int btrfs_qgroup_account(struct btrfs_trans_handle *trans, ASSERT(is_fstree(oper->ref_root)); trace_btrfs_qgroup_account(oper); switch (oper->type) { case BTRFS_QGROUP_OPER_ADD_EXCL: case BTRFS_QGROUP_OPER_SUB_EXCL: Loading fs/btrfs/super.c +1 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ #include "backref.h" #include "tests/btrfs-tests.h" #include "qgroup.h" #define CREATE_TRACE_POINTS #include <trace/events/btrfs.h> Loading include/trace/events/btrfs.h +56 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ struct map_lookup; struct extent_buffer; struct btrfs_work; struct __btrfs_workqueue; struct btrfs_qgroup_operation; #define show_ref_type(type) \ __print_symbolic(type, \ Loading Loading @@ -1119,6 +1120,61 @@ DEFINE_EVENT(btrfs__workqueue_done, btrfs_workqueue_destroy, TP_ARGS(wq) ); #define show_oper_type(type) \ __print_symbolic(type, \ { BTRFS_QGROUP_OPER_ADD_EXCL, "OPER_ADD_EXCL" }, \ { BTRFS_QGROUP_OPER_ADD_SHARED, "OPER_ADD_SHARED" }, \ { BTRFS_QGROUP_OPER_SUB_EXCL, "OPER_SUB_EXCL" }, \ { BTRFS_QGROUP_OPER_SUB_SHARED, "OPER_SUB_SHARED" }) DECLARE_EVENT_CLASS(btrfs_qgroup_oper, TP_PROTO(struct btrfs_qgroup_operation *oper), TP_ARGS(oper), TP_STRUCT__entry( __field( u64, ref_root ) __field( u64, bytenr ) __field( u64, num_bytes ) __field( u64, seq ) __field( int, type ) __field( u64, elem_seq ) ), TP_fast_assign( __entry->ref_root = oper->ref_root; __entry->bytenr = oper->bytenr, __entry->num_bytes = oper->num_bytes; __entry->seq = oper->seq; __entry->type = oper->type; __entry->elem_seq = oper->elem.seq; ), TP_printk("ref_root = %llu, bytenr = %llu, num_bytes = %llu, " "seq = %llu, elem.seq = %llu, type = %s", (unsigned long long)__entry->ref_root, (unsigned long long)__entry->bytenr, (unsigned long long)__entry->num_bytes, (unsigned long long)__entry->seq, (unsigned long long)__entry->elem_seq, show_oper_type(__entry->type)) ); DEFINE_EVENT(btrfs_qgroup_oper, btrfs_qgroup_account, TP_PROTO(struct btrfs_qgroup_operation *oper), TP_ARGS(oper) ); DEFINE_EVENT(btrfs_qgroup_oper, btrfs_qgroup_record_ref, TP_PROTO(struct btrfs_qgroup_operation *oper), TP_ARGS(oper) ); #endif /* _TRACE_BTRFS_H */ /* This part must be outside protection */ Loading Loading
fs/btrfs/qgroup.c +4 −0 Original line number Diff line number Diff line Loading @@ -1335,6 +1335,8 @@ int btrfs_qgroup_record_ref(struct btrfs_trans_handle *trans, INIT_LIST_HEAD(&oper->elem.list); oper->elem.seq = 0; trace_btrfs_qgroup_record_ref(oper); if (type == BTRFS_QGROUP_OPER_SUB_SUBTREE) { /* * If any operation for this bytenr/ref_root combo Loading Loading @@ -2077,6 +2079,8 @@ static int btrfs_qgroup_account(struct btrfs_trans_handle *trans, ASSERT(is_fstree(oper->ref_root)); trace_btrfs_qgroup_account(oper); switch (oper->type) { case BTRFS_QGROUP_OPER_ADD_EXCL: case BTRFS_QGROUP_OPER_SUB_EXCL: Loading
fs/btrfs/super.c +1 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ #include "backref.h" #include "tests/btrfs-tests.h" #include "qgroup.h" #define CREATE_TRACE_POINTS #include <trace/events/btrfs.h> Loading
include/trace/events/btrfs.h +56 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ struct map_lookup; struct extent_buffer; struct btrfs_work; struct __btrfs_workqueue; struct btrfs_qgroup_operation; #define show_ref_type(type) \ __print_symbolic(type, \ Loading Loading @@ -1119,6 +1120,61 @@ DEFINE_EVENT(btrfs__workqueue_done, btrfs_workqueue_destroy, TP_ARGS(wq) ); #define show_oper_type(type) \ __print_symbolic(type, \ { BTRFS_QGROUP_OPER_ADD_EXCL, "OPER_ADD_EXCL" }, \ { BTRFS_QGROUP_OPER_ADD_SHARED, "OPER_ADD_SHARED" }, \ { BTRFS_QGROUP_OPER_SUB_EXCL, "OPER_SUB_EXCL" }, \ { BTRFS_QGROUP_OPER_SUB_SHARED, "OPER_SUB_SHARED" }) DECLARE_EVENT_CLASS(btrfs_qgroup_oper, TP_PROTO(struct btrfs_qgroup_operation *oper), TP_ARGS(oper), TP_STRUCT__entry( __field( u64, ref_root ) __field( u64, bytenr ) __field( u64, num_bytes ) __field( u64, seq ) __field( int, type ) __field( u64, elem_seq ) ), TP_fast_assign( __entry->ref_root = oper->ref_root; __entry->bytenr = oper->bytenr, __entry->num_bytes = oper->num_bytes; __entry->seq = oper->seq; __entry->type = oper->type; __entry->elem_seq = oper->elem.seq; ), TP_printk("ref_root = %llu, bytenr = %llu, num_bytes = %llu, " "seq = %llu, elem.seq = %llu, type = %s", (unsigned long long)__entry->ref_root, (unsigned long long)__entry->bytenr, (unsigned long long)__entry->num_bytes, (unsigned long long)__entry->seq, (unsigned long long)__entry->elem_seq, show_oper_type(__entry->type)) ); DEFINE_EVENT(btrfs_qgroup_oper, btrfs_qgroup_account, TP_PROTO(struct btrfs_qgroup_operation *oper), TP_ARGS(oper) ); DEFINE_EVENT(btrfs_qgroup_oper, btrfs_qgroup_record_ref, TP_PROTO(struct btrfs_qgroup_operation *oper), TP_ARGS(oper) ); #endif /* _TRACE_BTRFS_H */ /* This part must be outside protection */ Loading