diff options
-rw-r--r-- | fs/btrfs/delayed-ref.c | 9 | ||||
-rw-r--r-- | fs/btrfs/extent-tree.c | 10 | ||||
-rw-r--r-- | fs/btrfs/qgroup.c | 19 | ||||
-rw-r--r-- | fs/btrfs/qgroup.h | 9 | ||||
-rw-r--r-- | fs/btrfs/super.c | 2 | ||||
-rw-r--r-- | include/trace/events/btrfs.h | 295 |
6 files changed, 186 insertions, 158 deletions
diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c index 08e452599249..b6d210e7a993 100644 --- a/fs/btrfs/delayed-ref.c +++ b/fs/btrfs/delayed-ref.c | |||
@@ -606,7 +606,8 @@ add_delayed_ref_head(struct btrfs_fs_info *fs_info, | |||
606 | qrecord->num_bytes = num_bytes; | 606 | qrecord->num_bytes = num_bytes; |
607 | qrecord->old_roots = NULL; | 607 | qrecord->old_roots = NULL; |
608 | 608 | ||
609 | qexisting = btrfs_qgroup_insert_dirty_extent(delayed_refs, | 609 | qexisting = btrfs_qgroup_insert_dirty_extent(fs_info, |
610 | delayed_refs, | ||
610 | qrecord); | 611 | qrecord); |
611 | if (qexisting) | 612 | if (qexisting) |
612 | kfree(qrecord); | 613 | kfree(qrecord); |
@@ -615,7 +616,7 @@ add_delayed_ref_head(struct btrfs_fs_info *fs_info, | |||
615 | spin_lock_init(&head_ref->lock); | 616 | spin_lock_init(&head_ref->lock); |
616 | mutex_init(&head_ref->mutex); | 617 | mutex_init(&head_ref->mutex); |
617 | 618 | ||
618 | trace_add_delayed_ref_head(ref, head_ref, action); | 619 | trace_add_delayed_ref_head(fs_info, ref, head_ref, action); |
619 | 620 | ||
620 | existing = htree_insert(&delayed_refs->href_root, | 621 | existing = htree_insert(&delayed_refs->href_root, |
621 | &head_ref->href_node); | 622 | &head_ref->href_node); |
@@ -682,7 +683,7 @@ add_delayed_tree_ref(struct btrfs_fs_info *fs_info, | |||
682 | ref->type = BTRFS_TREE_BLOCK_REF_KEY; | 683 | ref->type = BTRFS_TREE_BLOCK_REF_KEY; |
683 | full_ref->level = level; | 684 | full_ref->level = level; |
684 | 685 | ||
685 | trace_add_delayed_tree_ref(ref, full_ref, action); | 686 | trace_add_delayed_tree_ref(fs_info, ref, full_ref, action); |
686 | 687 | ||
687 | ret = add_delayed_ref_tail_merge(trans, delayed_refs, head_ref, ref); | 688 | ret = add_delayed_ref_tail_merge(trans, delayed_refs, head_ref, ref); |
688 | 689 | ||
@@ -739,7 +740,7 @@ add_delayed_data_ref(struct btrfs_fs_info *fs_info, | |||
739 | full_ref->objectid = owner; | 740 | full_ref->objectid = owner; |
740 | full_ref->offset = offset; | 741 | full_ref->offset = offset; |
741 | 742 | ||
742 | trace_add_delayed_data_ref(ref, full_ref, action); | 743 | trace_add_delayed_data_ref(fs_info, ref, full_ref, action); |
743 | 744 | ||
744 | ret = add_delayed_ref_tail_merge(trans, delayed_refs, head_ref, ref); | 745 | ret = add_delayed_ref_tail_merge(trans, delayed_refs, head_ref, ref); |
745 | 746 | ||
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 81d83300c99b..73f6dd2cf3cb 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -2204,7 +2204,7 @@ static int run_delayed_data_ref(struct btrfs_trans_handle *trans, | |||
2204 | ins.type = BTRFS_EXTENT_ITEM_KEY; | 2204 | ins.type = BTRFS_EXTENT_ITEM_KEY; |
2205 | 2205 | ||
2206 | ref = btrfs_delayed_node_to_data_ref(node); | 2206 | ref = btrfs_delayed_node_to_data_ref(node); |
2207 | trace_run_delayed_data_ref(node, ref, node->action); | 2207 | trace_run_delayed_data_ref(root->fs_info, node, ref, node->action); |
2208 | 2208 | ||
2209 | if (node->type == BTRFS_SHARED_DATA_REF_KEY) | 2209 | if (node->type == BTRFS_SHARED_DATA_REF_KEY) |
2210 | parent = ref->parent; | 2210 | parent = ref->parent; |
@@ -2359,7 +2359,7 @@ static int run_delayed_tree_ref(struct btrfs_trans_handle *trans, | |||
2359 | SKINNY_METADATA); | 2359 | SKINNY_METADATA); |
2360 | 2360 | ||
2361 | ref = btrfs_delayed_node_to_tree_ref(node); | 2361 | ref = btrfs_delayed_node_to_tree_ref(node); |
2362 | trace_run_delayed_tree_ref(node, ref, node->action); | 2362 | trace_run_delayed_tree_ref(root->fs_info, node, ref, node->action); |
2363 | 2363 | ||
2364 | if (node->type == BTRFS_SHARED_BLOCK_REF_KEY) | 2364 | if (node->type == BTRFS_SHARED_BLOCK_REF_KEY) |
2365 | parent = ref->parent; | 2365 | parent = ref->parent; |
@@ -2423,7 +2423,8 @@ static int run_one_delayed_ref(struct btrfs_trans_handle *trans, | |||
2423 | */ | 2423 | */ |
2424 | BUG_ON(extent_op); | 2424 | BUG_ON(extent_op); |
2425 | head = btrfs_delayed_node_to_head(node); | 2425 | head = btrfs_delayed_node_to_head(node); |
2426 | trace_run_delayed_ref_head(node, head, node->action); | 2426 | trace_run_delayed_ref_head(root->fs_info, node, head, |
2427 | node->action); | ||
2427 | 2428 | ||
2428 | if (insert_reserved) { | 2429 | if (insert_reserved) { |
2429 | btrfs_pin_extent(root, node->bytenr, | 2430 | btrfs_pin_extent(root, node->bytenr, |
@@ -8542,7 +8543,8 @@ static int record_one_subtree_extent(struct btrfs_trans_handle *trans, | |||
8542 | 8543 | ||
8543 | delayed_refs = &trans->transaction->delayed_refs; | 8544 | delayed_refs = &trans->transaction->delayed_refs; |
8544 | spin_lock(&delayed_refs->lock); | 8545 | spin_lock(&delayed_refs->lock); |
8545 | if (btrfs_qgroup_insert_dirty_extent(delayed_refs, qrecord)) | 8546 | if (btrfs_qgroup_insert_dirty_extent(trans->root->fs_info, |
8547 | delayed_refs, qrecord)) | ||
8546 | kfree(qrecord); | 8548 | kfree(qrecord); |
8547 | spin_unlock(&delayed_refs->lock); | 8549 | spin_unlock(&delayed_refs->lock); |
8548 | 8550 | ||
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 9d4c05b14f6e..13e28d8a7d42 100644 --- a/fs/btrfs/qgroup.c +++ b/fs/btrfs/qgroup.c | |||
@@ -1453,9 +1453,10 @@ int btrfs_qgroup_prepare_account_extents(struct btrfs_trans_handle *trans, | |||
1453 | return ret; | 1453 | return ret; |
1454 | } | 1454 | } |
1455 | 1455 | ||
1456 | struct btrfs_qgroup_extent_record | 1456 | struct btrfs_qgroup_extent_record * |
1457 | *btrfs_qgroup_insert_dirty_extent(struct btrfs_delayed_ref_root *delayed_refs, | 1457 | btrfs_qgroup_insert_dirty_extent(struct btrfs_fs_info *fs_info, |
1458 | struct btrfs_qgroup_extent_record *record) | 1458 | struct btrfs_delayed_ref_root *delayed_refs, |
1459 | struct btrfs_qgroup_extent_record *record) | ||
1459 | { | 1460 | { |
1460 | struct rb_node **p = &delayed_refs->dirty_extent_root.rb_node; | 1461 | struct rb_node **p = &delayed_refs->dirty_extent_root.rb_node; |
1461 | struct rb_node *parent_node = NULL; | 1462 | struct rb_node *parent_node = NULL; |
@@ -1463,7 +1464,7 @@ struct btrfs_qgroup_extent_record | |||
1463 | u64 bytenr = record->bytenr; | 1464 | u64 bytenr = record->bytenr; |
1464 | 1465 | ||
1465 | assert_spin_locked(&delayed_refs->lock); | 1466 | assert_spin_locked(&delayed_refs->lock); |
1466 | trace_btrfs_qgroup_insert_dirty_extent(record); | 1467 | trace_btrfs_qgroup_insert_dirty_extent(fs_info, record); |
1467 | 1468 | ||
1468 | while (*p) { | 1469 | while (*p) { |
1469 | parent_node = *p; | 1470 | parent_node = *p; |
@@ -1595,8 +1596,8 @@ static int qgroup_update_counters(struct btrfs_fs_info *fs_info, | |||
1595 | cur_old_count = btrfs_qgroup_get_old_refcnt(qg, seq); | 1596 | cur_old_count = btrfs_qgroup_get_old_refcnt(qg, seq); |
1596 | cur_new_count = btrfs_qgroup_get_new_refcnt(qg, seq); | 1597 | cur_new_count = btrfs_qgroup_get_new_refcnt(qg, seq); |
1597 | 1598 | ||
1598 | trace_qgroup_update_counters(qg->qgroupid, cur_old_count, | 1599 | trace_qgroup_update_counters(fs_info, qg->qgroupid, |
1599 | cur_new_count); | 1600 | cur_old_count, cur_new_count); |
1600 | 1601 | ||
1601 | /* Rfer update part */ | 1602 | /* Rfer update part */ |
1602 | if (cur_old_count == 0 && cur_new_count > 0) { | 1603 | if (cur_old_count == 0 && cur_new_count > 0) { |
@@ -1687,8 +1688,8 @@ btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans, | |||
1687 | goto out_free; | 1688 | goto out_free; |
1688 | BUG_ON(!fs_info->quota_root); | 1689 | BUG_ON(!fs_info->quota_root); |
1689 | 1690 | ||
1690 | trace_btrfs_qgroup_account_extent(bytenr, num_bytes, nr_old_roots, | 1691 | trace_btrfs_qgroup_account_extent(fs_info, bytenr, num_bytes, |
1691 | nr_new_roots); | 1692 | nr_old_roots, nr_new_roots); |
1692 | 1693 | ||
1693 | qgroups = ulist_alloc(GFP_NOFS); | 1694 | qgroups = ulist_alloc(GFP_NOFS); |
1694 | if (!qgroups) { | 1695 | if (!qgroups) { |
@@ -1759,7 +1760,7 @@ int btrfs_qgroup_account_extents(struct btrfs_trans_handle *trans, | |||
1759 | record = rb_entry(node, struct btrfs_qgroup_extent_record, | 1760 | record = rb_entry(node, struct btrfs_qgroup_extent_record, |
1760 | node); | 1761 | node); |
1761 | 1762 | ||
1762 | trace_btrfs_qgroup_account_extents(record); | 1763 | trace_btrfs_qgroup_account_extents(fs_info, record); |
1763 | 1764 | ||
1764 | if (!ret) { | 1765 | if (!ret) { |
1765 | /* | 1766 | /* |
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h index ecb2c143ef75..710887c06aaf 100644 --- a/fs/btrfs/qgroup.h +++ b/fs/btrfs/qgroup.h | |||
@@ -63,9 +63,10 @@ void btrfs_free_qgroup_config(struct btrfs_fs_info *fs_info); | |||
63 | struct btrfs_delayed_extent_op; | 63 | struct btrfs_delayed_extent_op; |
64 | int btrfs_qgroup_prepare_account_extents(struct btrfs_trans_handle *trans, | 64 | int btrfs_qgroup_prepare_account_extents(struct btrfs_trans_handle *trans, |
65 | struct btrfs_fs_info *fs_info); | 65 | struct btrfs_fs_info *fs_info); |
66 | struct btrfs_qgroup_extent_record | 66 | struct btrfs_qgroup_extent_record * |
67 | *btrfs_qgroup_insert_dirty_extent(struct btrfs_delayed_ref_root *delayed_refs, | 67 | btrfs_qgroup_insert_dirty_extent(struct btrfs_fs_info *fs_info, |
68 | struct btrfs_qgroup_extent_record *record); | 68 | struct btrfs_delayed_ref_root *delayed_refs, |
69 | struct btrfs_qgroup_extent_record *record); | ||
69 | int | 70 | int |
70 | btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans, | 71 | btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans, |
71 | struct btrfs_fs_info *fs_info, | 72 | struct btrfs_fs_info *fs_info, |
@@ -88,7 +89,7 @@ static inline void btrfs_qgroup_free_delayed_ref(struct btrfs_fs_info *fs_info, | |||
88 | u64 ref_root, u64 num_bytes) | 89 | u64 ref_root, u64 num_bytes) |
89 | { | 90 | { |
90 | btrfs_qgroup_free_refroot(fs_info, ref_root, num_bytes); | 91 | btrfs_qgroup_free_refroot(fs_info, ref_root, num_bytes); |
91 | trace_btrfs_qgroup_free_delayed_ref(ref_root, num_bytes); | 92 | trace_btrfs_qgroup_free_delayed_ref(fs_info, ref_root, num_bytes); |
92 | } | 93 | } |
93 | void assert_qgroups_uptodate(struct btrfs_trans_handle *trans); | 94 | void assert_qgroups_uptodate(struct btrfs_trans_handle *trans); |
94 | 95 | ||
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 208b15e7a171..d965abbcac8e 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -1171,7 +1171,7 @@ int btrfs_sync_fs(struct super_block *sb, int wait) | |||
1171 | struct btrfs_fs_info *fs_info = btrfs_sb(sb); | 1171 | struct btrfs_fs_info *fs_info = btrfs_sb(sb); |
1172 | struct btrfs_root *root = fs_info->tree_root; | 1172 | struct btrfs_root *root = fs_info->tree_root; |
1173 | 1173 | ||
1174 | trace_btrfs_sync_fs(wait); | 1174 | trace_btrfs_sync_fs(fs_info, wait); |
1175 | 1175 | ||
1176 | if (!wait) { | 1176 | if (!wait) { |
1177 | filemap_flush(fs_info->btree_inode->i_mapping); | 1177 | filemap_flush(fs_info->btree_inode->i_mapping); |
diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h index 5b81ef304388..e030d6f6c19a 100644 --- a/include/trace/events/btrfs.h +++ b/include/trace/events/btrfs.h | |||
@@ -66,6 +66,21 @@ struct btrfs_qgroup_extent_record; | |||
66 | { BTRFS_BLOCK_GROUP_RAID6, "RAID6"} | 66 | { BTRFS_BLOCK_GROUP_RAID6, "RAID6"} |
67 | 67 | ||
68 | #define BTRFS_UUID_SIZE 16 | 68 | #define BTRFS_UUID_SIZE 16 |
69 | #define TP_STRUCT__entry_fsid __array(u8, fsid, BTRFS_UUID_SIZE) | ||
70 | |||
71 | #define TP_fast_assign_fsid(fs_info) \ | ||
72 | memcpy(__entry->fsid, fs_info->fsid, BTRFS_UUID_SIZE) | ||
73 | |||
74 | #define TP_STRUCT__entry_btrfs(args...) \ | ||
75 | TP_STRUCT__entry( \ | ||
76 | TP_STRUCT__entry_fsid \ | ||
77 | args) | ||
78 | #define TP_fast_assign_btrfs(fs_info, args...) \ | ||
79 | TP_fast_assign( \ | ||
80 | TP_fast_assign_fsid(fs_info); \ | ||
81 | args) | ||
82 | #define TP_printk_btrfs(fmt, args...) \ | ||
83 | TP_printk("%pU: " fmt, __entry->fsid, args) | ||
69 | 84 | ||
70 | TRACE_EVENT(btrfs_transaction_commit, | 85 | TRACE_EVENT(btrfs_transaction_commit, |
71 | 86 | ||
@@ -73,17 +88,17 @@ TRACE_EVENT(btrfs_transaction_commit, | |||
73 | 88 | ||
74 | TP_ARGS(root), | 89 | TP_ARGS(root), |
75 | 90 | ||
76 | TP_STRUCT__entry( | 91 | TP_STRUCT__entry_btrfs( |
77 | __field( u64, generation ) | 92 | __field( u64, generation ) |
78 | __field( u64, root_objectid ) | 93 | __field( u64, root_objectid ) |
79 | ), | 94 | ), |
80 | 95 | ||
81 | TP_fast_assign( | 96 | TP_fast_assign_btrfs(root->fs_info, |
82 | __entry->generation = root->fs_info->generation; | 97 | __entry->generation = root->fs_info->generation; |
83 | __entry->root_objectid = root->root_key.objectid; | 98 | __entry->root_objectid = root->root_key.objectid; |
84 | ), | 99 | ), |
85 | 100 | ||
86 | TP_printk("root = %llu(%s), gen = %llu", | 101 | TP_printk_btrfs("root = %llu(%s), gen = %llu", |
87 | show_root_type(__entry->root_objectid), | 102 | show_root_type(__entry->root_objectid), |
88 | (unsigned long long)__entry->generation) | 103 | (unsigned long long)__entry->generation) |
89 | ); | 104 | ); |
@@ -94,7 +109,7 @@ DECLARE_EVENT_CLASS(btrfs__inode, | |||
94 | 109 | ||
95 | TP_ARGS(inode), | 110 | TP_ARGS(inode), |
96 | 111 | ||
97 | TP_STRUCT__entry( | 112 | TP_STRUCT__entry_btrfs( |
98 | __field( ino_t, ino ) | 113 | __field( ino_t, ino ) |
99 | __field( blkcnt_t, blocks ) | 114 | __field( blkcnt_t, blocks ) |
100 | __field( u64, disk_i_size ) | 115 | __field( u64, disk_i_size ) |
@@ -104,7 +119,7 @@ DECLARE_EVENT_CLASS(btrfs__inode, | |||
104 | __field( u64, root_objectid ) | 119 | __field( u64, root_objectid ) |
105 | ), | 120 | ), |
106 | 121 | ||
107 | TP_fast_assign( | 122 | TP_fast_assign_btrfs(btrfs_sb(inode->i_sb), |
108 | __entry->ino = inode->i_ino; | 123 | __entry->ino = inode->i_ino; |
109 | __entry->blocks = inode->i_blocks; | 124 | __entry->blocks = inode->i_blocks; |
110 | __entry->disk_i_size = BTRFS_I(inode)->disk_i_size; | 125 | __entry->disk_i_size = BTRFS_I(inode)->disk_i_size; |
@@ -115,7 +130,7 @@ DECLARE_EVENT_CLASS(btrfs__inode, | |||
115 | BTRFS_I(inode)->root->root_key.objectid; | 130 | BTRFS_I(inode)->root->root_key.objectid; |
116 | ), | 131 | ), |
117 | 132 | ||
118 | TP_printk("root = %llu(%s), gen = %llu, ino = %lu, blocks = %llu, " | 133 | TP_printk_btrfs("root = %llu(%s), gen = %llu, ino = %lu, blocks = %llu, " |
119 | "disk_i_size = %llu, last_trans = %llu, logged_trans = %llu", | 134 | "disk_i_size = %llu, last_trans = %llu, logged_trans = %llu", |
120 | show_root_type(__entry->root_objectid), | 135 | show_root_type(__entry->root_objectid), |
121 | (unsigned long long)__entry->generation, | 136 | (unsigned long long)__entry->generation, |
@@ -175,7 +190,7 @@ TRACE_EVENT_CONDITION(btrfs_get_extent, | |||
175 | 190 | ||
176 | TP_CONDITION(map), | 191 | TP_CONDITION(map), |
177 | 192 | ||
178 | TP_STRUCT__entry( | 193 | TP_STRUCT__entry_btrfs( |
179 | __field( u64, root_objectid ) | 194 | __field( u64, root_objectid ) |
180 | __field( u64, start ) | 195 | __field( u64, start ) |
181 | __field( u64, len ) | 196 | __field( u64, len ) |
@@ -187,7 +202,7 @@ TRACE_EVENT_CONDITION(btrfs_get_extent, | |||
187 | __field( unsigned int, compress_type ) | 202 | __field( unsigned int, compress_type ) |
188 | ), | 203 | ), |
189 | 204 | ||
190 | TP_fast_assign( | 205 | TP_fast_assign_btrfs(root->fs_info, |
191 | __entry->root_objectid = root->root_key.objectid; | 206 | __entry->root_objectid = root->root_key.objectid; |
192 | __entry->start = map->start; | 207 | __entry->start = map->start; |
193 | __entry->len = map->len; | 208 | __entry->len = map->len; |
@@ -199,7 +214,7 @@ TRACE_EVENT_CONDITION(btrfs_get_extent, | |||
199 | __entry->compress_type = map->compress_type; | 214 | __entry->compress_type = map->compress_type; |
200 | ), | 215 | ), |
201 | 216 | ||
202 | TP_printk("root = %llu(%s), start = %llu, len = %llu, " | 217 | TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu, " |
203 | "orig_start = %llu, block_start = %llu(%s), " | 218 | "orig_start = %llu, block_start = %llu(%s), " |
204 | "block_len = %llu, flags = %s, refs = %u, " | 219 | "block_len = %llu, flags = %s, refs = %u, " |
205 | "compress_type = %u", | 220 | "compress_type = %u", |
@@ -233,7 +248,7 @@ DECLARE_EVENT_CLASS(btrfs__ordered_extent, | |||
233 | 248 | ||
234 | TP_ARGS(inode, ordered), | 249 | TP_ARGS(inode, ordered), |
235 | 250 | ||
236 | TP_STRUCT__entry( | 251 | TP_STRUCT__entry_btrfs( |
237 | __field( ino_t, ino ) | 252 | __field( ino_t, ino ) |
238 | __field( u64, file_offset ) | 253 | __field( u64, file_offset ) |
239 | __field( u64, start ) | 254 | __field( u64, start ) |
@@ -246,7 +261,7 @@ DECLARE_EVENT_CLASS(btrfs__ordered_extent, | |||
246 | __field( u64, root_objectid ) | 261 | __field( u64, root_objectid ) |
247 | ), | 262 | ), |
248 | 263 | ||
249 | TP_fast_assign( | 264 | TP_fast_assign_btrfs(btrfs_sb(inode->i_sb), |
250 | __entry->ino = inode->i_ino; | 265 | __entry->ino = inode->i_ino; |
251 | __entry->file_offset = ordered->file_offset; | 266 | __entry->file_offset = ordered->file_offset; |
252 | __entry->start = ordered->start; | 267 | __entry->start = ordered->start; |
@@ -260,7 +275,7 @@ DECLARE_EVENT_CLASS(btrfs__ordered_extent, | |||
260 | BTRFS_I(inode)->root->root_key.objectid; | 275 | BTRFS_I(inode)->root->root_key.objectid; |
261 | ), | 276 | ), |
262 | 277 | ||
263 | TP_printk("root = %llu(%s), ino = %llu, file_offset = %llu, " | 278 | TP_printk_btrfs("root = %llu(%s), ino = %llu, file_offset = %llu, " |
264 | "start = %llu, len = %llu, disk_len = %llu, " | 279 | "start = %llu, len = %llu, disk_len = %llu, " |
265 | "bytes_left = %llu, flags = %s, compress_type = %d, " | 280 | "bytes_left = %llu, flags = %s, compress_type = %d, " |
266 | "refs = %d", | 281 | "refs = %d", |
@@ -310,7 +325,7 @@ DECLARE_EVENT_CLASS(btrfs__writepage, | |||
310 | 325 | ||
311 | TP_ARGS(page, inode, wbc), | 326 | TP_ARGS(page, inode, wbc), |
312 | 327 | ||
313 | TP_STRUCT__entry( | 328 | TP_STRUCT__entry_btrfs( |
314 | __field( ino_t, ino ) | 329 | __field( ino_t, ino ) |
315 | __field( pgoff_t, index ) | 330 | __field( pgoff_t, index ) |
316 | __field( long, nr_to_write ) | 331 | __field( long, nr_to_write ) |
@@ -324,7 +339,7 @@ DECLARE_EVENT_CLASS(btrfs__writepage, | |||
324 | __field( u64, root_objectid ) | 339 | __field( u64, root_objectid ) |
325 | ), | 340 | ), |
326 | 341 | ||
327 | TP_fast_assign( | 342 | TP_fast_assign_btrfs(btrfs_sb(inode->i_sb), |
328 | __entry->ino = inode->i_ino; | 343 | __entry->ino = inode->i_ino; |
329 | __entry->index = page->index; | 344 | __entry->index = page->index; |
330 | __entry->nr_to_write = wbc->nr_to_write; | 345 | __entry->nr_to_write = wbc->nr_to_write; |
@@ -339,7 +354,7 @@ DECLARE_EVENT_CLASS(btrfs__writepage, | |||
339 | BTRFS_I(inode)->root->root_key.objectid; | 354 | BTRFS_I(inode)->root->root_key.objectid; |
340 | ), | 355 | ), |
341 | 356 | ||
342 | TP_printk("root = %llu(%s), ino = %lu, page_index = %lu, " | 357 | TP_printk_btrfs("root = %llu(%s), ino = %lu, page_index = %lu, " |
343 | "nr_to_write = %ld, pages_skipped = %ld, range_start = %llu, " | 358 | "nr_to_write = %ld, pages_skipped = %ld, range_start = %llu, " |
344 | "range_end = %llu, for_kupdate = %d, " | 359 | "range_end = %llu, for_kupdate = %d, " |
345 | "for_reclaim = %d, range_cyclic = %d, writeback_index = %lu", | 360 | "for_reclaim = %d, range_cyclic = %d, writeback_index = %lu", |
@@ -366,7 +381,7 @@ TRACE_EVENT(btrfs_writepage_end_io_hook, | |||
366 | 381 | ||
367 | TP_ARGS(page, start, end, uptodate), | 382 | TP_ARGS(page, start, end, uptodate), |
368 | 383 | ||
369 | TP_STRUCT__entry( | 384 | TP_STRUCT__entry_btrfs( |
370 | __field( ino_t, ino ) | 385 | __field( ino_t, ino ) |
371 | __field( pgoff_t, index ) | 386 | __field( pgoff_t, index ) |
372 | __field( u64, start ) | 387 | __field( u64, start ) |
@@ -375,7 +390,7 @@ TRACE_EVENT(btrfs_writepage_end_io_hook, | |||
375 | __field( u64, root_objectid ) | 390 | __field( u64, root_objectid ) |
376 | ), | 391 | ), |
377 | 392 | ||
378 | TP_fast_assign( | 393 | TP_fast_assign_btrfs(btrfs_sb(page->mapping->host->i_sb), |
379 | __entry->ino = page->mapping->host->i_ino; | 394 | __entry->ino = page->mapping->host->i_ino; |
380 | __entry->index = page->index; | 395 | __entry->index = page->index; |
381 | __entry->start = start; | 396 | __entry->start = start; |
@@ -385,7 +400,7 @@ TRACE_EVENT(btrfs_writepage_end_io_hook, | |||
385 | BTRFS_I(page->mapping->host)->root->root_key.objectid; | 400 | BTRFS_I(page->mapping->host)->root->root_key.objectid; |
386 | ), | 401 | ), |
387 | 402 | ||
388 | TP_printk("root = %llu(%s), ino = %lu, page_index = %lu, start = %llu, " | 403 | TP_printk_btrfs("root = %llu(%s), ino = %lu, page_index = %lu, start = %llu, " |
389 | "end = %llu, uptodate = %d", | 404 | "end = %llu, uptodate = %d", |
390 | show_root_type(__entry->root_objectid), | 405 | show_root_type(__entry->root_objectid), |
391 | (unsigned long)__entry->ino, (unsigned long)__entry->index, | 406 | (unsigned long)__entry->ino, (unsigned long)__entry->index, |
@@ -399,7 +414,7 @@ TRACE_EVENT(btrfs_sync_file, | |||
399 | 414 | ||
400 | TP_ARGS(file, datasync), | 415 | TP_ARGS(file, datasync), |
401 | 416 | ||
402 | TP_STRUCT__entry( | 417 | TP_STRUCT__entry_btrfs( |
403 | __field( ino_t, ino ) | 418 | __field( ino_t, ino ) |
404 | __field( ino_t, parent ) | 419 | __field( ino_t, parent ) |
405 | __field( int, datasync ) | 420 | __field( int, datasync ) |
@@ -410,6 +425,7 @@ TRACE_EVENT(btrfs_sync_file, | |||
410 | struct dentry *dentry = file->f_path.dentry; | 425 | struct dentry *dentry = file->f_path.dentry; |
411 | struct inode *inode = d_inode(dentry); | 426 | struct inode *inode = d_inode(dentry); |
412 | 427 | ||
428 | TP_fast_assign_fsid(btrfs_sb(file->f_path.dentry->d_sb)); | ||
413 | __entry->ino = inode->i_ino; | 429 | __entry->ino = inode->i_ino; |
414 | __entry->parent = d_inode(dentry->d_parent)->i_ino; | 430 | __entry->parent = d_inode(dentry->d_parent)->i_ino; |
415 | __entry->datasync = datasync; | 431 | __entry->datasync = datasync; |
@@ -417,7 +433,7 @@ TRACE_EVENT(btrfs_sync_file, | |||
417 | BTRFS_I(inode)->root->root_key.objectid; | 433 | BTRFS_I(inode)->root->root_key.objectid; |
418 | ), | 434 | ), |
419 | 435 | ||
420 | TP_printk("root = %llu(%s), ino = %ld, parent = %ld, datasync = %d", | 436 | TP_printk_btrfs("root = %llu(%s), ino = %ld, parent = %ld, datasync = %d", |
421 | show_root_type(__entry->root_objectid), | 437 | show_root_type(__entry->root_objectid), |
422 | (unsigned long)__entry->ino, (unsigned long)__entry->parent, | 438 | (unsigned long)__entry->ino, (unsigned long)__entry->parent, |
423 | __entry->datasync) | 439 | __entry->datasync) |
@@ -425,19 +441,19 @@ TRACE_EVENT(btrfs_sync_file, | |||
425 | 441 | ||
426 | TRACE_EVENT(btrfs_sync_fs, | 442 | TRACE_EVENT(btrfs_sync_fs, |
427 | 443 | ||
428 | TP_PROTO(int wait), | 444 | TP_PROTO(struct btrfs_fs_info *fs_info, int wait), |
429 | 445 | ||
430 | TP_ARGS(wait), | 446 | TP_ARGS(fs_info, wait), |
431 | 447 | ||
432 | TP_STRUCT__entry( | 448 | TP_STRUCT__entry_btrfs( |
433 | __field( int, wait ) | 449 | __field( int, wait ) |
434 | ), | 450 | ), |
435 | 451 | ||
436 | TP_fast_assign( | 452 | TP_fast_assign_btrfs(fs_info, |
437 | __entry->wait = wait; | 453 | __entry->wait = wait; |
438 | ), | 454 | ), |
439 | 455 | ||
440 | TP_printk("wait = %d", __entry->wait) | 456 | TP_printk_btrfs("wait = %d", __entry->wait) |
441 | ); | 457 | ); |
442 | 458 | ||
443 | TRACE_EVENT(btrfs_add_block_group, | 459 | TRACE_EVENT(btrfs_add_block_group, |
@@ -490,13 +506,14 @@ TRACE_EVENT(btrfs_add_block_group, | |||
490 | 506 | ||
491 | DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref, | 507 | DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref, |
492 | 508 | ||
493 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 509 | TP_PROTO(struct btrfs_fs_info *fs_info, |
510 | struct btrfs_delayed_ref_node *ref, | ||
494 | struct btrfs_delayed_tree_ref *full_ref, | 511 | struct btrfs_delayed_tree_ref *full_ref, |
495 | int action), | 512 | int action), |
496 | 513 | ||
497 | TP_ARGS(ref, full_ref, action), | 514 | TP_ARGS(fs_info, ref, full_ref, action), |
498 | 515 | ||
499 | TP_STRUCT__entry( | 516 | TP_STRUCT__entry_btrfs( |
500 | __field( u64, bytenr ) | 517 | __field( u64, bytenr ) |
501 | __field( u64, num_bytes ) | 518 | __field( u64, num_bytes ) |
502 | __field( int, action ) | 519 | __field( int, action ) |
@@ -507,7 +524,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref, | |||
507 | __field( u64, seq ) | 524 | __field( u64, seq ) |
508 | ), | 525 | ), |
509 | 526 | ||
510 | TP_fast_assign( | 527 | TP_fast_assign_btrfs(fs_info, |
511 | __entry->bytenr = ref->bytenr; | 528 | __entry->bytenr = ref->bytenr; |
512 | __entry->num_bytes = ref->num_bytes; | 529 | __entry->num_bytes = ref->num_bytes; |
513 | __entry->action = action; | 530 | __entry->action = action; |
@@ -518,7 +535,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref, | |||
518 | __entry->seq = ref->seq; | 535 | __entry->seq = ref->seq; |
519 | ), | 536 | ), |
520 | 537 | ||
521 | TP_printk("bytenr = %llu, num_bytes = %llu, action = %s, " | 538 | TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, " |
522 | "parent = %llu(%s), ref_root = %llu(%s), level = %d, " | 539 | "parent = %llu(%s), ref_root = %llu(%s), level = %d, " |
523 | "type = %s, seq = %llu", | 540 | "type = %s, seq = %llu", |
524 | (unsigned long long)__entry->bytenr, | 541 | (unsigned long long)__entry->bytenr, |
@@ -532,31 +549,34 @@ DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref, | |||
532 | 549 | ||
533 | DEFINE_EVENT(btrfs_delayed_tree_ref, add_delayed_tree_ref, | 550 | DEFINE_EVENT(btrfs_delayed_tree_ref, add_delayed_tree_ref, |
534 | 551 | ||
535 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 552 | TP_PROTO(struct btrfs_fs_info *fs_info, |
553 | struct btrfs_delayed_ref_node *ref, | ||
536 | struct btrfs_delayed_tree_ref *full_ref, | 554 | struct btrfs_delayed_tree_ref *full_ref, |
537 | int action), | 555 | int action), |
538 | 556 | ||
539 | TP_ARGS(ref, full_ref, action) | 557 | TP_ARGS(fs_info, ref, full_ref, action) |
540 | ); | 558 | ); |
541 | 559 | ||
542 | DEFINE_EVENT(btrfs_delayed_tree_ref, run_delayed_tree_ref, | 560 | DEFINE_EVENT(btrfs_delayed_tree_ref, run_delayed_tree_ref, |
543 | 561 | ||
544 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 562 | TP_PROTO(struct btrfs_fs_info *fs_info, |
563 | struct btrfs_delayed_ref_node *ref, | ||
545 | struct btrfs_delayed_tree_ref *full_ref, | 564 | struct btrfs_delayed_tree_ref *full_ref, |
546 | int action), | 565 | int action), |
547 | 566 | ||
548 | TP_ARGS(ref, full_ref, action) | 567 | TP_ARGS(fs_info, ref, full_ref, action) |
549 | ); | 568 | ); |
550 | 569 | ||
551 | DECLARE_EVENT_CLASS(btrfs_delayed_data_ref, | 570 | DECLARE_EVENT_CLASS(btrfs_delayed_data_ref, |
552 | 571 | ||
553 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 572 | TP_PROTO(struct btrfs_fs_info *fs_info, |
573 | struct btrfs_delayed_ref_node *ref, | ||
554 | struct btrfs_delayed_data_ref *full_ref, | 574 | struct btrfs_delayed_data_ref *full_ref, |
555 | int action), | 575 | int action), |
556 | 576 | ||
557 | TP_ARGS(ref, full_ref, action), | 577 | TP_ARGS(fs_info, ref, full_ref, action), |
558 | 578 | ||
559 | TP_STRUCT__entry( | 579 | TP_STRUCT__entry_btrfs( |
560 | __field( u64, bytenr ) | 580 | __field( u64, bytenr ) |
561 | __field( u64, num_bytes ) | 581 | __field( u64, num_bytes ) |
562 | __field( int, action ) | 582 | __field( int, action ) |
@@ -568,7 +588,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_data_ref, | |||
568 | __field( u64, seq ) | 588 | __field( u64, seq ) |
569 | ), | 589 | ), |
570 | 590 | ||
571 | TP_fast_assign( | 591 | TP_fast_assign_btrfs(fs_info, |
572 | __entry->bytenr = ref->bytenr; | 592 | __entry->bytenr = ref->bytenr; |
573 | __entry->num_bytes = ref->num_bytes; | 593 | __entry->num_bytes = ref->num_bytes; |
574 | __entry->action = action; | 594 | __entry->action = action; |
@@ -580,7 +600,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_data_ref, | |||
580 | __entry->seq = ref->seq; | 600 | __entry->seq = ref->seq; |
581 | ), | 601 | ), |
582 | 602 | ||
583 | TP_printk("bytenr = %llu, num_bytes = %llu, action = %s, " | 603 | TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, " |
584 | "parent = %llu(%s), ref_root = %llu(%s), owner = %llu, " | 604 | "parent = %llu(%s), ref_root = %llu(%s), owner = %llu, " |
585 | "offset = %llu, type = %s, seq = %llu", | 605 | "offset = %llu, type = %s, seq = %llu", |
586 | (unsigned long long)__entry->bytenr, | 606 | (unsigned long long)__entry->bytenr, |
@@ -596,45 +616,48 @@ DECLARE_EVENT_CLASS(btrfs_delayed_data_ref, | |||
596 | 616 | ||
597 | DEFINE_EVENT(btrfs_delayed_data_ref, add_delayed_data_ref, | 617 | DEFINE_EVENT(btrfs_delayed_data_ref, add_delayed_data_ref, |
598 | 618 | ||
599 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 619 | TP_PROTO(struct btrfs_fs_info *fs_info, |
620 | struct btrfs_delayed_ref_node *ref, | ||
600 | struct btrfs_delayed_data_ref *full_ref, | 621 | struct btrfs_delayed_data_ref *full_ref, |
601 | int action), | 622 | int action), |
602 | 623 | ||
603 | TP_ARGS(ref, full_ref, action) | 624 | TP_ARGS(fs_info, ref, full_ref, action) |
604 | ); | 625 | ); |
605 | 626 | ||
606 | DEFINE_EVENT(btrfs_delayed_data_ref, run_delayed_data_ref, | 627 | DEFINE_EVENT(btrfs_delayed_data_ref, run_delayed_data_ref, |
607 | 628 | ||
608 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 629 | TP_PROTO(struct btrfs_fs_info *fs_info, |
630 | struct btrfs_delayed_ref_node *ref, | ||
609 | struct btrfs_delayed_data_ref *full_ref, | 631 | struct btrfs_delayed_data_ref *full_ref, |
610 | int action), | 632 | int action), |
611 | 633 | ||
612 | TP_ARGS(ref, full_ref, action) | 634 | TP_ARGS(fs_info, ref, full_ref, action) |
613 | ); | 635 | ); |
614 | 636 | ||
615 | DECLARE_EVENT_CLASS(btrfs_delayed_ref_head, | 637 | DECLARE_EVENT_CLASS(btrfs_delayed_ref_head, |
616 | 638 | ||
617 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 639 | TP_PROTO(struct btrfs_fs_info *fs_info, |
640 | struct btrfs_delayed_ref_node *ref, | ||
618 | struct btrfs_delayed_ref_head *head_ref, | 641 | struct btrfs_delayed_ref_head *head_ref, |
619 | int action), | 642 | int action), |
620 | 643 | ||
621 | TP_ARGS(ref, head_ref, action), | 644 | TP_ARGS(fs_info, ref, head_ref, action), |
622 | 645 | ||
623 | TP_STRUCT__entry( | 646 | TP_STRUCT__entry_btrfs( |
624 | __field( u64, bytenr ) | 647 | __field( u64, bytenr ) |
625 | __field( u64, num_bytes ) | 648 | __field( u64, num_bytes ) |
626 | __field( int, action ) | 649 | __field( int, action ) |
627 | __field( int, is_data ) | 650 | __field( int, is_data ) |
628 | ), | 651 | ), |
629 | 652 | ||
630 | TP_fast_assign( | 653 | TP_fast_assign_btrfs(fs_info, |
631 | __entry->bytenr = ref->bytenr; | 654 | __entry->bytenr = ref->bytenr; |
632 | __entry->num_bytes = ref->num_bytes; | 655 | __entry->num_bytes = ref->num_bytes; |
633 | __entry->action = action; | 656 | __entry->action = action; |
634 | __entry->is_data = head_ref->is_data; | 657 | __entry->is_data = head_ref->is_data; |
635 | ), | 658 | ), |
636 | 659 | ||
637 | TP_printk("bytenr = %llu, num_bytes = %llu, action = %s, is_data = %d", | 660 | TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, is_data = %d", |
638 | (unsigned long long)__entry->bytenr, | 661 | (unsigned long long)__entry->bytenr, |
639 | (unsigned long long)__entry->num_bytes, | 662 | (unsigned long long)__entry->num_bytes, |
640 | show_ref_action(__entry->action), | 663 | show_ref_action(__entry->action), |
@@ -643,20 +666,22 @@ DECLARE_EVENT_CLASS(btrfs_delayed_ref_head, | |||
643 | 666 | ||
644 | DEFINE_EVENT(btrfs_delayed_ref_head, add_delayed_ref_head, | 667 | DEFINE_EVENT(btrfs_delayed_ref_head, add_delayed_ref_head, |
645 | 668 | ||
646 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 669 | TP_PROTO(struct btrfs_fs_info *fs_info, |
670 | struct btrfs_delayed_ref_node *ref, | ||
647 | struct btrfs_delayed_ref_head *head_ref, | 671 | struct btrfs_delayed_ref_head *head_ref, |
648 | int action), | 672 | int action), |
649 | 673 | ||
650 | TP_ARGS(ref, head_ref, action) | 674 | TP_ARGS(fs_info, ref, head_ref, action) |
651 | ); | 675 | ); |
652 | 676 | ||
653 | DEFINE_EVENT(btrfs_delayed_ref_head, run_delayed_ref_head, | 677 | DEFINE_EVENT(btrfs_delayed_ref_head, run_delayed_ref_head, |
654 | 678 | ||
655 | TP_PROTO(struct btrfs_delayed_ref_node *ref, | 679 | TP_PROTO(struct btrfs_fs_info *fs_info, |
680 | struct btrfs_delayed_ref_node *ref, | ||
656 | struct btrfs_delayed_ref_head *head_ref, | 681 | struct btrfs_delayed_ref_head *head_ref, |
657 | int action), | 682 | int action), |
658 | 683 | ||
659 | TP_ARGS(ref, head_ref, action) | 684 | TP_ARGS(fs_info, ref, head_ref, action) |
660 | ); | 685 | ); |
661 | 686 | ||
662 | #define show_chunk_type(type) \ | 687 | #define show_chunk_type(type) \ |
@@ -678,7 +703,7 @@ DECLARE_EVENT_CLASS(btrfs__chunk, | |||
678 | 703 | ||
679 | TP_ARGS(root, map, offset, size), | 704 | TP_ARGS(root, map, offset, size), |
680 | 705 | ||
681 | TP_STRUCT__entry( | 706 | TP_STRUCT__entry_btrfs( |
682 | __field( int, num_stripes ) | 707 | __field( int, num_stripes ) |
683 | __field( u64, type ) | 708 | __field( u64, type ) |
684 | __field( int, sub_stripes ) | 709 | __field( int, sub_stripes ) |
@@ -687,7 +712,7 @@ DECLARE_EVENT_CLASS(btrfs__chunk, | |||
687 | __field( u64, root_objectid ) | 712 | __field( u64, root_objectid ) |
688 | ), | 713 | ), |
689 | 714 | ||
690 | TP_fast_assign( | 715 | TP_fast_assign_btrfs(root->fs_info, |
691 | __entry->num_stripes = map->num_stripes; | 716 | __entry->num_stripes = map->num_stripes; |
692 | __entry->type = map->type; | 717 | __entry->type = map->type; |
693 | __entry->sub_stripes = map->sub_stripes; | 718 | __entry->sub_stripes = map->sub_stripes; |
@@ -696,7 +721,7 @@ DECLARE_EVENT_CLASS(btrfs__chunk, | |||
696 | __entry->root_objectid = root->root_key.objectid; | 721 | __entry->root_objectid = root->root_key.objectid; |
697 | ), | 722 | ), |
698 | 723 | ||
699 | TP_printk("root = %llu(%s), offset = %llu, size = %llu, " | 724 | TP_printk_btrfs("root = %llu(%s), offset = %llu, size = %llu, " |
700 | "num_stripes = %d, sub_stripes = %d, type = %s", | 725 | "num_stripes = %d, sub_stripes = %d, type = %s", |
701 | show_root_type(__entry->root_objectid), | 726 | show_root_type(__entry->root_objectid), |
702 | (unsigned long long)__entry->offset, | 727 | (unsigned long long)__entry->offset, |
@@ -728,7 +753,7 @@ TRACE_EVENT(btrfs_cow_block, | |||
728 | 753 | ||
729 | TP_ARGS(root, buf, cow), | 754 | TP_ARGS(root, buf, cow), |
730 | 755 | ||
731 | TP_STRUCT__entry( | 756 | TP_STRUCT__entry_btrfs( |
732 | __field( u64, root_objectid ) | 757 | __field( u64, root_objectid ) |
733 | __field( u64, buf_start ) | 758 | __field( u64, buf_start ) |
734 | __field( int, refs ) | 759 | __field( int, refs ) |
@@ -737,7 +762,7 @@ TRACE_EVENT(btrfs_cow_block, | |||
737 | __field( int, cow_level ) | 762 | __field( int, cow_level ) |
738 | ), | 763 | ), |
739 | 764 | ||
740 | TP_fast_assign( | 765 | TP_fast_assign_btrfs(root->fs_info, |
741 | __entry->root_objectid = root->root_key.objectid; | 766 | __entry->root_objectid = root->root_key.objectid; |
742 | __entry->buf_start = buf->start; | 767 | __entry->buf_start = buf->start; |
743 | __entry->refs = atomic_read(&buf->refs); | 768 | __entry->refs = atomic_read(&buf->refs); |
@@ -746,7 +771,7 @@ TRACE_EVENT(btrfs_cow_block, | |||
746 | __entry->cow_level = btrfs_header_level(cow); | 771 | __entry->cow_level = btrfs_header_level(cow); |
747 | ), | 772 | ), |
748 | 773 | ||
749 | TP_printk("root = %llu(%s), refs = %d, orig_buf = %llu " | 774 | TP_printk_btrfs("root = %llu(%s), refs = %d, orig_buf = %llu " |
750 | "(orig_level = %d), cow_buf = %llu (cow_level = %d)", | 775 | "(orig_level = %d), cow_buf = %llu (cow_level = %d)", |
751 | show_root_type(__entry->root_objectid), | 776 | show_root_type(__entry->root_objectid), |
752 | __entry->refs, | 777 | __entry->refs, |
@@ -763,25 +788,23 @@ TRACE_EVENT(btrfs_space_reservation, | |||
763 | 788 | ||
764 | TP_ARGS(fs_info, type, val, bytes, reserve), | 789 | TP_ARGS(fs_info, type, val, bytes, reserve), |
765 | 790 | ||
766 | TP_STRUCT__entry( | 791 | TP_STRUCT__entry_btrfs( |
767 | __array( u8, fsid, BTRFS_UUID_SIZE ) | ||
768 | __string( type, type ) | 792 | __string( type, type ) |
769 | __field( u64, val ) | 793 | __field( u64, val ) |
770 | __field( u64, bytes ) | 794 | __field( u64, bytes ) |
771 | __field( int, reserve ) | 795 | __field( int, reserve ) |
772 | ), | 796 | ), |
773 | 797 | ||
774 | TP_fast_assign( | 798 | TP_fast_assign_btrfs(fs_info, |
775 | memcpy(__entry->fsid, fs_info->fsid, BTRFS_UUID_SIZE); | ||
776 | __assign_str(type, type); | 799 | __assign_str(type, type); |
777 | __entry->val = val; | 800 | __entry->val = val; |
778 | __entry->bytes = bytes; | 801 | __entry->bytes = bytes; |
779 | __entry->reserve = reserve; | 802 | __entry->reserve = reserve; |
780 | ), | 803 | ), |
781 | 804 | ||
782 | TP_printk("%pU: %s: %Lu %s %Lu", __entry->fsid, __get_str(type), | 805 | TP_printk_btrfs("%s: %Lu %s %Lu", __get_str(type), __entry->val, |
783 | __entry->val, __entry->reserve ? "reserve" : "release", | 806 | __entry->reserve ? "reserve" : "release", |
784 | __entry->bytes) | 807 | __entry->bytes) |
785 | ); | 808 | ); |
786 | 809 | ||
787 | #define show_flush_action(action) \ | 810 | #define show_flush_action(action) \ |
@@ -872,22 +895,19 @@ DECLARE_EVENT_CLASS(btrfs__reserved_extent, | |||
872 | 895 | ||
873 | TP_ARGS(root, start, len), | 896 | TP_ARGS(root, start, len), |
874 | 897 | ||
875 | TP_STRUCT__entry( | 898 | TP_STRUCT__entry_btrfs( |
876 | __array( u8, fsid, BTRFS_UUID_SIZE ) | 899 | __field( u64, root_objectid ) |
877 | __field( u64, root_objectid ) | 900 | __field( u64, start ) |
878 | __field( u64, start ) | 901 | __field( u64, len ) |
879 | __field( u64, len ) | ||
880 | ), | 902 | ), |
881 | 903 | ||
882 | TP_fast_assign( | 904 | TP_fast_assign_btrfs(root->fs_info, |
883 | memcpy(__entry->fsid, root->fs_info->fsid, BTRFS_UUID_SIZE); | ||
884 | __entry->root_objectid = root->root_key.objectid; | 905 | __entry->root_objectid = root->root_key.objectid; |
885 | __entry->start = start; | 906 | __entry->start = start; |
886 | __entry->len = len; | 907 | __entry->len = len; |
887 | ), | 908 | ), |
888 | 909 | ||
889 | TP_printk("%pU: root = %llu(%s), start = %llu, len = %llu", | 910 | TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu", |
890 | __entry->fsid, | ||
891 | show_root_type(__entry->root_objectid), | 911 | show_root_type(__entry->root_objectid), |
892 | (unsigned long long)__entry->start, | 912 | (unsigned long long)__entry->start, |
893 | (unsigned long long)__entry->len) | 913 | (unsigned long long)__entry->len) |
@@ -914,21 +934,21 @@ TRACE_EVENT(find_free_extent, | |||
914 | 934 | ||
915 | TP_ARGS(root, num_bytes, empty_size, data), | 935 | TP_ARGS(root, num_bytes, empty_size, data), |
916 | 936 | ||
917 | TP_STRUCT__entry( | 937 | TP_STRUCT__entry_btrfs( |
918 | __field( u64, root_objectid ) | 938 | __field( u64, root_objectid ) |
919 | __field( u64, num_bytes ) | 939 | __field( u64, num_bytes ) |
920 | __field( u64, empty_size ) | 940 | __field( u64, empty_size ) |
921 | __field( u64, data ) | 941 | __field( u64, data ) |
922 | ), | 942 | ), |
923 | 943 | ||
924 | TP_fast_assign( | 944 | TP_fast_assign_btrfs(root->fs_info, |
925 | __entry->root_objectid = root->root_key.objectid; | 945 | __entry->root_objectid = root->root_key.objectid; |
926 | __entry->num_bytes = num_bytes; | 946 | __entry->num_bytes = num_bytes; |
927 | __entry->empty_size = empty_size; | 947 | __entry->empty_size = empty_size; |
928 | __entry->data = data; | 948 | __entry->data = data; |
929 | ), | 949 | ), |
930 | 950 | ||
931 | TP_printk("root = %Lu(%s), len = %Lu, empty_size = %Lu, " | 951 | TP_printk_btrfs("root = %Lu(%s), len = %Lu, empty_size = %Lu, " |
932 | "flags = %Lu(%s)", show_root_type(__entry->root_objectid), | 952 | "flags = %Lu(%s)", show_root_type(__entry->root_objectid), |
933 | __entry->num_bytes, __entry->empty_size, __entry->data, | 953 | __entry->num_bytes, __entry->empty_size, __entry->data, |
934 | __print_flags((unsigned long)__entry->data, "|", | 954 | __print_flags((unsigned long)__entry->data, "|", |
@@ -943,8 +963,7 @@ DECLARE_EVENT_CLASS(btrfs__reserve_extent, | |||
943 | 963 | ||
944 | TP_ARGS(root, block_group, start, len), | 964 | TP_ARGS(root, block_group, start, len), |
945 | 965 | ||
946 | TP_STRUCT__entry( | 966 | TP_STRUCT__entry_btrfs( |
947 | __array( u8, fsid, BTRFS_UUID_SIZE ) | ||
948 | __field( u64, root_objectid ) | 967 | __field( u64, root_objectid ) |
949 | __field( u64, bg_objectid ) | 968 | __field( u64, bg_objectid ) |
950 | __field( u64, flags ) | 969 | __field( u64, flags ) |
@@ -952,8 +971,7 @@ DECLARE_EVENT_CLASS(btrfs__reserve_extent, | |||
952 | __field( u64, len ) | 971 | __field( u64, len ) |
953 | ), | 972 | ), |
954 | 973 | ||
955 | TP_fast_assign( | 974 | TP_fast_assign_btrfs(root->fs_info, |
956 | memcpy(__entry->fsid, root->fs_info->fsid, BTRFS_UUID_SIZE); | ||
957 | __entry->root_objectid = root->root_key.objectid; | 975 | __entry->root_objectid = root->root_key.objectid; |
958 | __entry->bg_objectid = block_group->key.objectid; | 976 | __entry->bg_objectid = block_group->key.objectid; |
959 | __entry->flags = block_group->flags; | 977 | __entry->flags = block_group->flags; |
@@ -961,8 +979,8 @@ DECLARE_EVENT_CLASS(btrfs__reserve_extent, | |||
961 | __entry->len = len; | 979 | __entry->len = len; |
962 | ), | 980 | ), |
963 | 981 | ||
964 | TP_printk("%pU: root = %Lu(%s), block_group = %Lu, flags = %Lu(%s), " | 982 | TP_printk_btrfs("root = %Lu(%s), block_group = %Lu, flags = %Lu(%s), " |
965 | "start = %Lu, len = %Lu", __entry->fsid, | 983 | "start = %Lu, len = %Lu", |
966 | show_root_type(__entry->root_objectid), __entry->bg_objectid, | 984 | show_root_type(__entry->root_objectid), __entry->bg_objectid, |
967 | __entry->flags, __print_flags((unsigned long)__entry->flags, | 985 | __entry->flags, __print_flags((unsigned long)__entry->flags, |
968 | "|", BTRFS_GROUP_FLAGS), | 986 | "|", BTRFS_GROUP_FLAGS), |
@@ -994,7 +1012,7 @@ TRACE_EVENT(btrfs_find_cluster, | |||
994 | 1012 | ||
995 | TP_ARGS(block_group, start, bytes, empty_size, min_bytes), | 1013 | TP_ARGS(block_group, start, bytes, empty_size, min_bytes), |
996 | 1014 | ||
997 | TP_STRUCT__entry( | 1015 | TP_STRUCT__entry_btrfs( |
998 | __field( u64, bg_objectid ) | 1016 | __field( u64, bg_objectid ) |
999 | __field( u64, flags ) | 1017 | __field( u64, flags ) |
1000 | __field( u64, start ) | 1018 | __field( u64, start ) |
@@ -1003,7 +1021,7 @@ TRACE_EVENT(btrfs_find_cluster, | |||
1003 | __field( u64, min_bytes ) | 1021 | __field( u64, min_bytes ) |
1004 | ), | 1022 | ), |
1005 | 1023 | ||
1006 | TP_fast_assign( | 1024 | TP_fast_assign_btrfs(block_group->fs_info, |
1007 | __entry->bg_objectid = block_group->key.objectid; | 1025 | __entry->bg_objectid = block_group->key.objectid; |
1008 | __entry->flags = block_group->flags; | 1026 | __entry->flags = block_group->flags; |
1009 | __entry->start = start; | 1027 | __entry->start = start; |
@@ -1012,7 +1030,7 @@ TRACE_EVENT(btrfs_find_cluster, | |||
1012 | __entry->min_bytes = min_bytes; | 1030 | __entry->min_bytes = min_bytes; |
1013 | ), | 1031 | ), |
1014 | 1032 | ||
1015 | TP_printk("block_group = %Lu, flags = %Lu(%s), start = %Lu, len = %Lu," | 1033 | TP_printk_btrfs("block_group = %Lu, flags = %Lu(%s), start = %Lu, len = %Lu," |
1016 | " empty_size = %Lu, min_bytes = %Lu", __entry->bg_objectid, | 1034 | " empty_size = %Lu, min_bytes = %Lu", __entry->bg_objectid, |
1017 | __entry->flags, | 1035 | __entry->flags, |
1018 | __print_flags((unsigned long)__entry->flags, "|", | 1036 | __print_flags((unsigned long)__entry->flags, "|", |
@@ -1026,15 +1044,15 @@ TRACE_EVENT(btrfs_failed_cluster_setup, | |||
1026 | 1044 | ||
1027 | TP_ARGS(block_group), | 1045 | TP_ARGS(block_group), |
1028 | 1046 | ||
1029 | TP_STRUCT__entry( | 1047 | TP_STRUCT__entry_btrfs( |
1030 | __field( u64, bg_objectid ) | 1048 | __field( u64, bg_objectid ) |
1031 | ), | 1049 | ), |
1032 | 1050 | ||
1033 | TP_fast_assign( | 1051 | TP_fast_assign_btrfs(block_group->fs_info, |
1034 | __entry->bg_objectid = block_group->key.objectid; | 1052 | __entry->bg_objectid = block_group->key.objectid; |
1035 | ), | 1053 | ), |
1036 | 1054 | ||
1037 | TP_printk("block_group = %Lu", __entry->bg_objectid) | 1055 | TP_printk_btrfs("block_group = %Lu", __entry->bg_objectid) |
1038 | ); | 1056 | ); |
1039 | 1057 | ||
1040 | TRACE_EVENT(btrfs_setup_cluster, | 1058 | TRACE_EVENT(btrfs_setup_cluster, |
@@ -1044,7 +1062,7 @@ TRACE_EVENT(btrfs_setup_cluster, | |||
1044 | 1062 | ||
1045 | TP_ARGS(block_group, cluster, size, bitmap), | 1063 | TP_ARGS(block_group, cluster, size, bitmap), |
1046 | 1064 | ||
1047 | TP_STRUCT__entry( | 1065 | TP_STRUCT__entry_btrfs( |
1048 | __field( u64, bg_objectid ) | 1066 | __field( u64, bg_objectid ) |
1049 | __field( u64, flags ) | 1067 | __field( u64, flags ) |
1050 | __field( u64, start ) | 1068 | __field( u64, start ) |
@@ -1053,7 +1071,7 @@ TRACE_EVENT(btrfs_setup_cluster, | |||
1053 | __field( int, bitmap ) | 1071 | __field( int, bitmap ) |
1054 | ), | 1072 | ), |
1055 | 1073 | ||
1056 | TP_fast_assign( | 1074 | TP_fast_assign_btrfs(block_group->fs_info, |
1057 | __entry->bg_objectid = block_group->key.objectid; | 1075 | __entry->bg_objectid = block_group->key.objectid; |
1058 | __entry->flags = block_group->flags; | 1076 | __entry->flags = block_group->flags; |
1059 | __entry->start = cluster->window_start; | 1077 | __entry->start = cluster->window_start; |
@@ -1062,7 +1080,7 @@ TRACE_EVENT(btrfs_setup_cluster, | |||
1062 | __entry->bitmap = bitmap; | 1080 | __entry->bitmap = bitmap; |
1063 | ), | 1081 | ), |
1064 | 1082 | ||
1065 | TP_printk("block_group = %Lu, flags = %Lu(%s), window_start = %Lu, " | 1083 | TP_printk_btrfs("block_group = %Lu, flags = %Lu(%s), window_start = %Lu, " |
1066 | "size = %Lu, max_size = %Lu, bitmap = %d", | 1084 | "size = %Lu, max_size = %Lu, bitmap = %d", |
1067 | __entry->bg_objectid, | 1085 | __entry->bg_objectid, |
1068 | __entry->flags, | 1086 | __entry->flags, |
@@ -1120,7 +1138,7 @@ DECLARE_EVENT_CLASS(btrfs__work, | |||
1120 | 1138 | ||
1121 | TP_ARGS(work), | 1139 | TP_ARGS(work), |
1122 | 1140 | ||
1123 | TP_STRUCT__entry( | 1141 | TP_STRUCT__entry_btrfs( |
1124 | __field( void *, work ) | 1142 | __field( void *, work ) |
1125 | __field( void *, wq ) | 1143 | __field( void *, wq ) |
1126 | __field( void *, func ) | 1144 | __field( void *, func ) |
@@ -1129,7 +1147,7 @@ DECLARE_EVENT_CLASS(btrfs__work, | |||
1129 | __field( void *, normal_work ) | 1147 | __field( void *, normal_work ) |
1130 | ), | 1148 | ), |
1131 | 1149 | ||
1132 | TP_fast_assign( | 1150 | TP_fast_assign_btrfs(btrfs_work_owner(work), |
1133 | __entry->work = work; | 1151 | __entry->work = work; |
1134 | __entry->wq = work->wq; | 1152 | __entry->wq = work->wq; |
1135 | __entry->func = work->func; | 1153 | __entry->func = work->func; |
@@ -1138,7 +1156,7 @@ DECLARE_EVENT_CLASS(btrfs__work, | |||
1138 | __entry->normal_work = &work->normal_work; | 1156 | __entry->normal_work = &work->normal_work; |
1139 | ), | 1157 | ), |
1140 | 1158 | ||
1141 | TP_printk("work=%p (normal_work=%p), wq=%p, func=%pf, ordered_func=%p," | 1159 | TP_printk_btrfs("work=%p (normal_work=%p), wq=%p, func=%pf, ordered_func=%p," |
1142 | " ordered_free=%p", | 1160 | " ordered_free=%p", |
1143 | __entry->work, __entry->normal_work, __entry->wq, | 1161 | __entry->work, __entry->normal_work, __entry->wq, |
1144 | __entry->func, __entry->ordered_func, __entry->ordered_free) | 1162 | __entry->func, __entry->ordered_func, __entry->ordered_free) |
@@ -1151,15 +1169,15 @@ DECLARE_EVENT_CLASS(btrfs__work__done, | |||
1151 | 1169 | ||
1152 | TP_ARGS(work), | 1170 | TP_ARGS(work), |
1153 | 1171 | ||
1154 | TP_STRUCT__entry( | 1172 | TP_STRUCT__entry_btrfs( |
1155 | __field( void *, work ) | 1173 | __field( void *, work ) |
1156 | ), | 1174 | ), |
1157 | 1175 | ||
1158 | TP_fast_assign( | 1176 | TP_fast_assign_btrfs(btrfs_work_owner(work), |
1159 | __entry->work = work; | 1177 | __entry->work = work; |
1160 | ), | 1178 | ), |
1161 | 1179 | ||
1162 | TP_printk("work->%p", __entry->work) | 1180 | TP_printk_btrfs("work->%p", __entry->work) |
1163 | ); | 1181 | ); |
1164 | 1182 | ||
1165 | DEFINE_EVENT(btrfs__work, btrfs_work_queued, | 1183 | DEFINE_EVENT(btrfs__work, btrfs_work_queued, |
@@ -1196,19 +1214,19 @@ DECLARE_EVENT_CLASS(btrfs__workqueue, | |||
1196 | 1214 | ||
1197 | TP_ARGS(wq, name, high), | 1215 | TP_ARGS(wq, name, high), |
1198 | 1216 | ||
1199 | TP_STRUCT__entry( | 1217 | TP_STRUCT__entry_btrfs( |
1200 | __field( void *, wq ) | 1218 | __field( void *, wq ) |
1201 | __string( name, name ) | 1219 | __string( name, name ) |
1202 | __field( int , high ) | 1220 | __field( int , high ) |
1203 | ), | 1221 | ), |
1204 | 1222 | ||
1205 | TP_fast_assign( | 1223 | TP_fast_assign_btrfs(btrfs_workqueue_owner(wq), |
1206 | __entry->wq = wq; | 1224 | __entry->wq = wq; |
1207 | __assign_str(name, name); | 1225 | __assign_str(name, name); |
1208 | __entry->high = high; | 1226 | __entry->high = high; |
1209 | ), | 1227 | ), |
1210 | 1228 | ||
1211 | TP_printk("name=%s%s, wq=%p", __get_str(name), | 1229 | TP_printk_btrfs("name=%s%s, wq=%p", __get_str(name), |
1212 | __print_flags(__entry->high, "", | 1230 | __print_flags(__entry->high, "", |
1213 | {(WQ_HIGHPRI), "-high"}), | 1231 | {(WQ_HIGHPRI), "-high"}), |
1214 | __entry->wq) | 1232 | __entry->wq) |
@@ -1227,15 +1245,15 @@ DECLARE_EVENT_CLASS(btrfs__workqueue_done, | |||
1227 | 1245 | ||
1228 | TP_ARGS(wq), | 1246 | TP_ARGS(wq), |
1229 | 1247 | ||
1230 | TP_STRUCT__entry( | 1248 | TP_STRUCT__entry_btrfs( |
1231 | __field( void *, wq ) | 1249 | __field( void *, wq ) |
1232 | ), | 1250 | ), |
1233 | 1251 | ||
1234 | TP_fast_assign( | 1252 | TP_fast_assign_btrfs(btrfs_workqueue_owner(wq), |
1235 | __entry->wq = wq; | 1253 | __entry->wq = wq; |
1236 | ), | 1254 | ), |
1237 | 1255 | ||
1238 | TP_printk("wq=%p", __entry->wq) | 1256 | TP_printk_btrfs("wq=%p", __entry->wq) |
1239 | ); | 1257 | ); |
1240 | 1258 | ||
1241 | DEFINE_EVENT(btrfs__workqueue_done, btrfs_workqueue_destroy, | 1259 | DEFINE_EVENT(btrfs__workqueue_done, btrfs_workqueue_destroy, |
@@ -1251,19 +1269,19 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_data_map, | |||
1251 | 1269 | ||
1252 | TP_ARGS(inode, free_reserved), | 1270 | TP_ARGS(inode, free_reserved), |
1253 | 1271 | ||
1254 | TP_STRUCT__entry( | 1272 | TP_STRUCT__entry_btrfs( |
1255 | __field( u64, rootid ) | 1273 | __field( u64, rootid ) |
1256 | __field( unsigned long, ino ) | 1274 | __field( unsigned long, ino ) |
1257 | __field( u64, free_reserved ) | 1275 | __field( u64, free_reserved ) |
1258 | ), | 1276 | ), |
1259 | 1277 | ||
1260 | TP_fast_assign( | 1278 | TP_fast_assign_btrfs(btrfs_sb(inode->i_sb), |
1261 | __entry->rootid = BTRFS_I(inode)->root->objectid; | 1279 | __entry->rootid = BTRFS_I(inode)->root->objectid; |
1262 | __entry->ino = inode->i_ino; | 1280 | __entry->ino = inode->i_ino; |
1263 | __entry->free_reserved = free_reserved; | 1281 | __entry->free_reserved = free_reserved; |
1264 | ), | 1282 | ), |
1265 | 1283 | ||
1266 | TP_printk("rootid=%llu, ino=%lu, free_reserved=%llu", | 1284 | TP_printk_btrfs("rootid=%llu, ino=%lu, free_reserved=%llu", |
1267 | __entry->rootid, __entry->ino, __entry->free_reserved) | 1285 | __entry->rootid, __entry->ino, __entry->free_reserved) |
1268 | ); | 1286 | ); |
1269 | 1287 | ||
@@ -1292,7 +1310,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_rsv_data, | |||
1292 | 1310 | ||
1293 | TP_ARGS(inode, start, len, reserved, op), | 1311 | TP_ARGS(inode, start, len, reserved, op), |
1294 | 1312 | ||
1295 | TP_STRUCT__entry( | 1313 | TP_STRUCT__entry_btrfs( |
1296 | __field( u64, rootid ) | 1314 | __field( u64, rootid ) |
1297 | __field( unsigned long, ino ) | 1315 | __field( unsigned long, ino ) |
1298 | __field( u64, start ) | 1316 | __field( u64, start ) |
@@ -1301,7 +1319,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_rsv_data, | |||
1301 | __field( int, op ) | 1319 | __field( int, op ) |
1302 | ), | 1320 | ), |
1303 | 1321 | ||
1304 | TP_fast_assign( | 1322 | TP_fast_assign_btrfs(btrfs_sb(inode->i_sb), |
1305 | __entry->rootid = BTRFS_I(inode)->root->objectid; | 1323 | __entry->rootid = BTRFS_I(inode)->root->objectid; |
1306 | __entry->ino = inode->i_ino; | 1324 | __entry->ino = inode->i_ino; |
1307 | __entry->start = start; | 1325 | __entry->start = start; |
@@ -1310,7 +1328,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_rsv_data, | |||
1310 | __entry->op = op; | 1328 | __entry->op = op; |
1311 | ), | 1329 | ), |
1312 | 1330 | ||
1313 | TP_printk("root=%llu, ino=%lu, start=%llu, len=%llu, reserved=%llu, op=%s", | 1331 | TP_printk_btrfs("root=%llu, ino=%lu, start=%llu, len=%llu, reserved=%llu, op=%s", |
1314 | __entry->rootid, __entry->ino, __entry->start, __entry->len, | 1332 | __entry->rootid, __entry->ino, __entry->start, __entry->len, |
1315 | __entry->reserved, | 1333 | __entry->reserved, |
1316 | __print_flags((unsigned long)__entry->op, "", | 1334 | __print_flags((unsigned long)__entry->op, "", |
@@ -1334,86 +1352,90 @@ DEFINE_EVENT(btrfs__qgroup_rsv_data, btrfs_qgroup_release_data, | |||
1334 | 1352 | ||
1335 | DECLARE_EVENT_CLASS(btrfs__qgroup_delayed_ref, | 1353 | DECLARE_EVENT_CLASS(btrfs__qgroup_delayed_ref, |
1336 | 1354 | ||
1337 | TP_PROTO(u64 ref_root, u64 reserved), | 1355 | TP_PROTO(struct btrfs_fs_info *fs_info, u64 ref_root, u64 reserved), |
1338 | 1356 | ||
1339 | TP_ARGS(ref_root, reserved), | 1357 | TP_ARGS(fs_info, ref_root, reserved), |
1340 | 1358 | ||
1341 | TP_STRUCT__entry( | 1359 | TP_STRUCT__entry_btrfs( |
1342 | __field( u64, ref_root ) | 1360 | __field( u64, ref_root ) |
1343 | __field( u64, reserved ) | 1361 | __field( u64, reserved ) |
1344 | ), | 1362 | ), |
1345 | 1363 | ||
1346 | TP_fast_assign( | 1364 | TP_fast_assign_btrfs(fs_info, |
1347 | __entry->ref_root = ref_root; | 1365 | __entry->ref_root = ref_root; |
1348 | __entry->reserved = reserved; | 1366 | __entry->reserved = reserved; |
1349 | ), | 1367 | ), |
1350 | 1368 | ||
1351 | TP_printk("root=%llu, reserved=%llu, op=free", | 1369 | TP_printk_btrfs("root=%llu, reserved=%llu, op=free", |
1352 | __entry->ref_root, __entry->reserved) | 1370 | __entry->ref_root, __entry->reserved) |
1353 | ); | 1371 | ); |
1354 | 1372 | ||
1355 | DEFINE_EVENT(btrfs__qgroup_delayed_ref, btrfs_qgroup_free_delayed_ref, | 1373 | DEFINE_EVENT(btrfs__qgroup_delayed_ref, btrfs_qgroup_free_delayed_ref, |
1356 | 1374 | ||
1357 | TP_PROTO(u64 ref_root, u64 reserved), | 1375 | TP_PROTO(struct btrfs_fs_info *fs_info, u64 ref_root, u64 reserved), |
1358 | 1376 | ||
1359 | TP_ARGS(ref_root, reserved) | 1377 | TP_ARGS(fs_info, ref_root, reserved) |
1360 | ); | 1378 | ); |
1361 | 1379 | ||
1362 | DECLARE_EVENT_CLASS(btrfs_qgroup_extent, | 1380 | DECLARE_EVENT_CLASS(btrfs_qgroup_extent, |
1363 | TP_PROTO(struct btrfs_qgroup_extent_record *rec), | 1381 | TP_PROTO(struct btrfs_fs_info *fs_info, |
1382 | struct btrfs_qgroup_extent_record *rec), | ||
1364 | 1383 | ||
1365 | TP_ARGS(rec), | 1384 | TP_ARGS(fs_info, rec), |
1366 | 1385 | ||
1367 | TP_STRUCT__entry( | 1386 | TP_STRUCT__entry_btrfs( |
1368 | __field( u64, bytenr ) | 1387 | __field( u64, bytenr ) |
1369 | __field( u64, num_bytes ) | 1388 | __field( u64, num_bytes ) |
1370 | ), | 1389 | ), |
1371 | 1390 | ||
1372 | TP_fast_assign( | 1391 | TP_fast_assign_btrfs(fs_info, |
1373 | __entry->bytenr = rec->bytenr, | 1392 | __entry->bytenr = rec->bytenr, |
1374 | __entry->num_bytes = rec->num_bytes; | 1393 | __entry->num_bytes = rec->num_bytes; |
1375 | ), | 1394 | ), |
1376 | 1395 | ||
1377 | TP_printk("bytenr = %llu, num_bytes = %llu", | 1396 | TP_printk_btrfs("bytenr = %llu, num_bytes = %llu", |
1378 | (unsigned long long)__entry->bytenr, | 1397 | (unsigned long long)__entry->bytenr, |
1379 | (unsigned long long)__entry->num_bytes) | 1398 | (unsigned long long)__entry->num_bytes) |
1380 | ); | 1399 | ); |
1381 | 1400 | ||
1382 | DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_account_extents, | 1401 | DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_account_extents, |
1383 | 1402 | ||
1384 | TP_PROTO(struct btrfs_qgroup_extent_record *rec), | 1403 | TP_PROTO(struct btrfs_fs_info *fs_info, |
1404 | struct btrfs_qgroup_extent_record *rec), | ||
1385 | 1405 | ||
1386 | TP_ARGS(rec) | 1406 | TP_ARGS(fs_info, rec) |
1387 | ); | 1407 | ); |
1388 | 1408 | ||
1389 | DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_insert_dirty_extent, | 1409 | DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_insert_dirty_extent, |
1390 | 1410 | ||
1391 | TP_PROTO(struct btrfs_qgroup_extent_record *rec), | 1411 | TP_PROTO(struct btrfs_fs_info *fs_info, |
1412 | struct btrfs_qgroup_extent_record *rec), | ||
1392 | 1413 | ||
1393 | TP_ARGS(rec) | 1414 | TP_ARGS(fs_info, rec) |
1394 | ); | 1415 | ); |
1395 | 1416 | ||
1396 | TRACE_EVENT(btrfs_qgroup_account_extent, | 1417 | TRACE_EVENT(btrfs_qgroup_account_extent, |
1397 | 1418 | ||
1398 | TP_PROTO(u64 bytenr, u64 num_bytes, u64 nr_old_roots, u64 nr_new_roots), | 1419 | TP_PROTO(struct btrfs_fs_info *fs_info, u64 bytenr, |
1420 | u64 num_bytes, u64 nr_old_roots, u64 nr_new_roots), | ||
1399 | 1421 | ||
1400 | TP_ARGS(bytenr, num_bytes, nr_old_roots, nr_new_roots), | 1422 | TP_ARGS(fs_info, bytenr, num_bytes, nr_old_roots, nr_new_roots), |
1401 | 1423 | ||
1402 | TP_STRUCT__entry( | 1424 | TP_STRUCT__entry_btrfs( |
1403 | __field( u64, bytenr ) | 1425 | __field( u64, bytenr ) |
1404 | __field( u64, num_bytes ) | 1426 | __field( u64, num_bytes ) |
1405 | __field( u64, nr_old_roots ) | 1427 | __field( u64, nr_old_roots ) |
1406 | __field( u64, nr_new_roots ) | 1428 | __field( u64, nr_new_roots ) |
1407 | ), | 1429 | ), |
1408 | 1430 | ||
1409 | TP_fast_assign( | 1431 | TP_fast_assign_btrfs(fs_info, |
1410 | __entry->bytenr = bytenr; | 1432 | __entry->bytenr = bytenr; |
1411 | __entry->num_bytes = num_bytes; | 1433 | __entry->num_bytes = num_bytes; |
1412 | __entry->nr_old_roots = nr_old_roots; | 1434 | __entry->nr_old_roots = nr_old_roots; |
1413 | __entry->nr_new_roots = nr_new_roots; | 1435 | __entry->nr_new_roots = nr_new_roots; |
1414 | ), | 1436 | ), |
1415 | 1437 | ||
1416 | TP_printk("bytenr = %llu, num_bytes = %llu, nr_old_roots = %llu, " | 1438 | TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, nr_old_roots = %llu, " |
1417 | "nr_new_roots = %llu", | 1439 | "nr_new_roots = %llu", |
1418 | __entry->bytenr, | 1440 | __entry->bytenr, |
1419 | __entry->num_bytes, | 1441 | __entry->num_bytes, |
@@ -1423,23 +1445,24 @@ TRACE_EVENT(btrfs_qgroup_account_extent, | |||
1423 | 1445 | ||
1424 | TRACE_EVENT(qgroup_update_counters, | 1446 | TRACE_EVENT(qgroup_update_counters, |
1425 | 1447 | ||
1426 | TP_PROTO(u64 qgid, u64 cur_old_count, u64 cur_new_count), | 1448 | TP_PROTO(struct btrfs_fs_info *fs_info, u64 qgid, |
1449 | u64 cur_old_count, u64 cur_new_count), | ||
1427 | 1450 | ||
1428 | TP_ARGS(qgid, cur_old_count, cur_new_count), | 1451 | TP_ARGS(fs_info, qgid, cur_old_count, cur_new_count), |
1429 | 1452 | ||
1430 | TP_STRUCT__entry( | 1453 | TP_STRUCT__entry_btrfs( |
1431 | __field( u64, qgid ) | 1454 | __field( u64, qgid ) |
1432 | __field( u64, cur_old_count ) | 1455 | __field( u64, cur_old_count ) |
1433 | __field( u64, cur_new_count ) | 1456 | __field( u64, cur_new_count ) |
1434 | ), | 1457 | ), |
1435 | 1458 | ||
1436 | TP_fast_assign( | 1459 | TP_fast_assign_btrfs(fs_info, |
1437 | __entry->qgid = qgid; | 1460 | __entry->qgid = qgid; |
1438 | __entry->cur_old_count = cur_old_count; | 1461 | __entry->cur_old_count = cur_old_count; |
1439 | __entry->cur_new_count = cur_new_count; | 1462 | __entry->cur_new_count = cur_new_count; |
1440 | ), | 1463 | ), |
1441 | 1464 | ||
1442 | TP_printk("qgid = %llu, cur_old_count = %llu, cur_new_count = %llu", | 1465 | TP_printk_btrfs("qgid = %llu, cur_old_count = %llu, cur_new_count = %llu", |
1443 | __entry->qgid, | 1466 | __entry->qgid, |
1444 | __entry->cur_old_count, | 1467 | __entry->cur_old_count, |
1445 | __entry->cur_new_count) | 1468 | __entry->cur_new_count) |