summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/print-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/print-tree.c')
-rw-r--r--fs/btrfs/print-tree.c50
1 files changed, 18 insertions, 32 deletions
diff --git a/fs/btrfs/print-tree.c b/fs/btrfs/print-tree.c
index aaeee45d917d..2fa49f207ca0 100644
--- a/fs/btrfs/print-tree.c
+++ b/fs/btrfs/print-tree.c
@@ -24,8 +24,7 @@ static void print_chunk(struct extent_buffer *eb, struct btrfs_chunk *chunk)
24{ 24{
25 int num_stripes = btrfs_chunk_num_stripes(eb, chunk); 25 int num_stripes = btrfs_chunk_num_stripes(eb, chunk);
26 int i; 26 int i;
27 printk(KERN_INFO "\t\tchunk length %llu owner %llu type %llu " 27 printk(KERN_INFO "\t\tchunk length %llu owner %llu type %llu num_stripes %d\n",
28 "num_stripes %d\n",
29 btrfs_chunk_length(eb, chunk), btrfs_chunk_owner(eb, chunk), 28 btrfs_chunk_length(eb, chunk), btrfs_chunk_owner(eb, chunk),
30 btrfs_chunk_type(eb, chunk), num_stripes); 29 btrfs_chunk_type(eb, chunk), num_stripes);
31 for (i = 0 ; i < num_stripes ; i++) { 30 for (i = 0 ; i < num_stripes ; i++) {
@@ -37,8 +36,7 @@ static void print_chunk(struct extent_buffer *eb, struct btrfs_chunk *chunk)
37static void print_dev_item(struct extent_buffer *eb, 36static void print_dev_item(struct extent_buffer *eb,
38 struct btrfs_dev_item *dev_item) 37 struct btrfs_dev_item *dev_item)
39{ 38{
40 printk(KERN_INFO "\t\tdev item devid %llu " 39 printk(KERN_INFO "\t\tdev item devid %llu total_bytes %llu bytes used %llu\n",
41 "total_bytes %llu bytes used %llu\n",
42 btrfs_device_id(eb, dev_item), 40 btrfs_device_id(eb, dev_item),
43 btrfs_device_total_bytes(eb, dev_item), 41 btrfs_device_total_bytes(eb, dev_item),
44 btrfs_device_bytes_used(eb, dev_item)); 42 btrfs_device_bytes_used(eb, dev_item));
@@ -46,8 +44,7 @@ static void print_dev_item(struct extent_buffer *eb,
46static void print_extent_data_ref(struct extent_buffer *eb, 44static void print_extent_data_ref(struct extent_buffer *eb,
47 struct btrfs_extent_data_ref *ref) 45 struct btrfs_extent_data_ref *ref)
48{ 46{
49 printk(KERN_INFO "\t\textent data backref root %llu " 47 printk(KERN_INFO "\t\textent data backref root %llu objectid %llu offset %llu count %u\n",
50 "objectid %llu offset %llu count %u\n",
51 btrfs_extent_data_ref_root(eb, ref), 48 btrfs_extent_data_ref_root(eb, ref),
52 btrfs_extent_data_ref_objectid(eb, ref), 49 btrfs_extent_data_ref_objectid(eb, ref),
53 btrfs_extent_data_ref_offset(eb, ref), 50 btrfs_extent_data_ref_offset(eb, ref),
@@ -92,8 +89,7 @@ static void print_extent_item(struct extent_buffer *eb, int slot, int type)
92 struct btrfs_tree_block_info *info; 89 struct btrfs_tree_block_info *info;
93 info = (struct btrfs_tree_block_info *)(ei + 1); 90 info = (struct btrfs_tree_block_info *)(ei + 1);
94 btrfs_tree_block_key(eb, info, &key); 91 btrfs_tree_block_key(eb, info, &key);
95 printk(KERN_INFO "\t\ttree block key (%llu %u %llu) " 92 printk(KERN_INFO "\t\ttree block key (%llu %u %llu) level %d\n",
96 "level %d\n",
97 btrfs_disk_key_objectid(&key), key.type, 93 btrfs_disk_key_objectid(&key), key.type,
98 btrfs_disk_key_offset(&key), 94 btrfs_disk_key_offset(&key),
99 btrfs_tree_block_level(eb, info)); 95 btrfs_tree_block_level(eb, info));
@@ -110,12 +106,10 @@ static void print_extent_item(struct extent_buffer *eb, int slot, int type)
110 offset = btrfs_extent_inline_ref_offset(eb, iref); 106 offset = btrfs_extent_inline_ref_offset(eb, iref);
111 switch (type) { 107 switch (type) {
112 case BTRFS_TREE_BLOCK_REF_KEY: 108 case BTRFS_TREE_BLOCK_REF_KEY:
113 printk(KERN_INFO "\t\ttree block backref " 109 printk(KERN_INFO "\t\ttree block backref root %llu\n", offset);
114 "root %llu\n", offset);
115 break; 110 break;
116 case BTRFS_SHARED_BLOCK_REF_KEY: 111 case BTRFS_SHARED_BLOCK_REF_KEY:
117 printk(KERN_INFO "\t\tshared block backref " 112 printk(KERN_INFO "\t\tshared block backref parent %llu\n", offset);
118 "parent %llu\n", offset);
119 break; 113 break;
120 case BTRFS_EXTENT_DATA_REF_KEY: 114 case BTRFS_EXTENT_DATA_REF_KEY:
121 dref = (struct btrfs_extent_data_ref *)(&iref->offset); 115 dref = (struct btrfs_extent_data_ref *)(&iref->offset);
@@ -123,8 +117,7 @@ static void print_extent_item(struct extent_buffer *eb, int slot, int type)
123 break; 117 break;
124 case BTRFS_SHARED_DATA_REF_KEY: 118 case BTRFS_SHARED_DATA_REF_KEY:
125 sref = (struct btrfs_shared_data_ref *)(iref + 1); 119 sref = (struct btrfs_shared_data_ref *)(iref + 1);
126 printk(KERN_INFO "\t\tshared data backref " 120 printk(KERN_INFO "\t\tshared data backref parent %llu count %u\n",
127 "parent %llu count %u\n",
128 offset, btrfs_shared_data_ref_count(eb, sref)); 121 offset, btrfs_shared_data_ref_count(eb, sref));
129 break; 122 break;
130 default: 123 default:
@@ -141,8 +134,7 @@ static void print_extent_ref_v0(struct extent_buffer *eb, int slot)
141 struct btrfs_extent_ref_v0 *ref0; 134 struct btrfs_extent_ref_v0 *ref0;
142 135
143 ref0 = btrfs_item_ptr(eb, slot, struct btrfs_extent_ref_v0); 136 ref0 = btrfs_item_ptr(eb, slot, struct btrfs_extent_ref_v0);
144 printk("\t\textent back ref root %llu gen %llu " 137 printk("\t\textent back ref root %llu gen %llu owner %llu num_refs %lu\n",
145 "owner %llu num_refs %lu\n",
146 btrfs_ref_root_v0(eb, ref0), 138 btrfs_ref_root_v0(eb, ref0),
147 btrfs_ref_generation_v0(eb, ref0), 139 btrfs_ref_generation_v0(eb, ref0),
148 btrfs_ref_objectid_v0(eb, ref0), 140 btrfs_ref_objectid_v0(eb, ref0),
@@ -196,15 +188,13 @@ void btrfs_print_leaf(struct btrfs_root *root, struct extent_buffer *l)
196 item = btrfs_item_nr(i); 188 item = btrfs_item_nr(i);
197 btrfs_item_key_to_cpu(l, &key, i); 189 btrfs_item_key_to_cpu(l, &key, i);
198 type = key.type; 190 type = key.type;
199 printk(KERN_INFO "\titem %d key (%llu %u %llu) itemoff %d " 191 printk(KERN_INFO "\titem %d key (%llu %u %llu) itemoff %d itemsize %d\n",
200 "itemsize %d\n",
201 i, key.objectid, type, key.offset, 192 i, key.objectid, type, key.offset,
202 btrfs_item_offset(l, item), btrfs_item_size(l, item)); 193 btrfs_item_offset(l, item), btrfs_item_size(l, item));
203 switch (type) { 194 switch (type) {
204 case BTRFS_INODE_ITEM_KEY: 195 case BTRFS_INODE_ITEM_KEY:
205 ii = btrfs_item_ptr(l, i, struct btrfs_inode_item); 196 ii = btrfs_item_ptr(l, i, struct btrfs_inode_item);
206 printk(KERN_INFO "\t\tinode generation %llu size %llu " 197 printk(KERN_INFO "\t\tinode generation %llu size %llu mode %o\n",
207 "mode %o\n",
208 btrfs_inode_generation(l, ii), 198 btrfs_inode_generation(l, ii),
209 btrfs_inode_size(l, ii), 199 btrfs_inode_size(l, ii),
210 btrfs_inode_mode(l, ii)); 200 btrfs_inode_mode(l, ii));
@@ -248,17 +238,14 @@ void btrfs_print_leaf(struct btrfs_root *root, struct extent_buffer *l)
248 struct btrfs_file_extent_item); 238 struct btrfs_file_extent_item);
249 if (btrfs_file_extent_type(l, fi) == 239 if (btrfs_file_extent_type(l, fi) ==
250 BTRFS_FILE_EXTENT_INLINE) { 240 BTRFS_FILE_EXTENT_INLINE) {
251 printk(KERN_INFO "\t\tinline extent data " 241 printk(KERN_INFO "\t\tinline extent data size %u\n",
252 "size %u\n",
253 btrfs_file_extent_inline_len(l, i, fi)); 242 btrfs_file_extent_inline_len(l, i, fi));
254 break; 243 break;
255 } 244 }
256 printk(KERN_INFO "\t\textent data disk bytenr %llu " 245 printk(KERN_INFO "\t\textent data disk bytenr %llu nr %llu\n",
257 "nr %llu\n",
258 btrfs_file_extent_disk_bytenr(l, fi), 246 btrfs_file_extent_disk_bytenr(l, fi),
259 btrfs_file_extent_disk_num_bytes(l, fi)); 247 btrfs_file_extent_disk_num_bytes(l, fi));
260 printk(KERN_INFO "\t\textent data offset %llu " 248 printk(KERN_INFO "\t\textent data offset %llu nr %llu ram %llu\n",
261 "nr %llu ram %llu\n",
262 btrfs_file_extent_offset(l, fi), 249 btrfs_file_extent_offset(l, fi),
263 btrfs_file_extent_num_bytes(l, fi), 250 btrfs_file_extent_num_bytes(l, fi),
264 btrfs_file_extent_ram_bytes(l, fi)); 251 btrfs_file_extent_ram_bytes(l, fi));
@@ -287,9 +274,7 @@ void btrfs_print_leaf(struct btrfs_root *root, struct extent_buffer *l)
287 case BTRFS_DEV_EXTENT_KEY: 274 case BTRFS_DEV_EXTENT_KEY:
288 dev_extent = btrfs_item_ptr(l, i, 275 dev_extent = btrfs_item_ptr(l, i,
289 struct btrfs_dev_extent); 276 struct btrfs_dev_extent);
290 printk(KERN_INFO "\t\tdev extent chunk_tree %llu\n" 277 printk(KERN_INFO "\t\tdev extent chunk_tree %llu\n\t\tchunk objectid %llu chunk offset %llu length %llu\n",
291 "\t\tchunk objectid %llu chunk offset %llu "
292 "length %llu\n",
293 btrfs_dev_extent_chunk_tree(l, dev_extent), 278 btrfs_dev_extent_chunk_tree(l, dev_extent),
294 btrfs_dev_extent_chunk_objectid(l, dev_extent), 279 btrfs_dev_extent_chunk_objectid(l, dev_extent),
295 btrfs_dev_extent_chunk_offset(l, dev_extent), 280 btrfs_dev_extent_chunk_offset(l, dev_extent),
@@ -343,9 +328,10 @@ void btrfs_print_tree(struct btrfs_root *root, struct extent_buffer *c)
343 btrfs_print_leaf(root, c); 328 btrfs_print_leaf(root, c);
344 return; 329 return;
345 } 330 }
346 btrfs_info(root->fs_info, "node %llu level %d total ptrs %d free spc %u", 331 btrfs_info(root->fs_info,
347 btrfs_header_bytenr(c), level, nr, 332 "node %llu level %d total ptrs %d free spc %u",
348 (u32)BTRFS_NODEPTRS_PER_BLOCK(root) - nr); 333 btrfs_header_bytenr(c), level, nr,
334 (u32)BTRFS_NODEPTRS_PER_BLOCK(root) - nr);
349 for (i = 0; i < nr; i++) { 335 for (i = 0; i < nr; i++) {
350 btrfs_node_key_to_cpu(c, &key, i); 336 btrfs_node_key_to_cpu(c, &key, i);
351 printk(KERN_INFO "\tkey %d (%llu %u %llu) block %llu\n", 337 printk(KERN_INFO "\tkey %d (%llu %u %llu) block %llu\n",