diff options
author | Chris Mason <chris.mason@oracle.com> | 2007-03-22 12:13:20 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@hera.kernel.org> | 2007-03-22 12:13:20 -0400 |
commit | e20d96d64f9cf9288ffecc9ad4714e91c3b97ca8 (patch) | |
tree | fbe07d48bc7997226075169118ffa2a2e63f5d51 /fs/btrfs/print-tree.c | |
parent | 2e635a278354a1a7951e16cfea4c247d6d0e7c99 (diff) |
Mountable btrfs, with readdir
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/print-tree.c')
-rw-r--r-- | fs/btrfs/print-tree.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/fs/btrfs/print-tree.c b/fs/btrfs/print-tree.c index aa2d3fac8804..c8ee938c1251 100644 --- a/fs/btrfs/print-tree.c +++ b/fs/btrfs/print-tree.c | |||
@@ -17,7 +17,6 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l) | |||
17 | printk("leaf %Lu total ptrs %d free space %d\n", | 17 | printk("leaf %Lu total ptrs %d free space %d\n", |
18 | btrfs_header_blocknr(&l->header), nr, | 18 | btrfs_header_blocknr(&l->header), nr, |
19 | btrfs_leaf_free_space(root, l)); | 19 | btrfs_leaf_free_space(root, l)); |
20 | fflush(stdout); | ||
21 | for (i = 0 ; i < nr ; i++) { | 20 | for (i = 0 ; i < nr ; i++) { |
22 | item = l->items + i; | 21 | item = l->items + i; |
23 | type = btrfs_disk_key_type(&item->key); | 22 | type = btrfs_disk_key_type(&item->key); |
@@ -67,10 +66,10 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l) | |||
67 | btrfs_leaf_data(l) + btrfs_item_offset(item)); | 66 | btrfs_leaf_data(l) + btrfs_item_offset(item)); |
68 | break; | 67 | break; |
69 | }; | 68 | }; |
70 | fflush(stdout); | ||
71 | } | 69 | } |
72 | } | 70 | } |
73 | void btrfs_print_tree(struct btrfs_root *root, struct btrfs_buffer *t) | 71 | |
72 | void btrfs_print_tree(struct btrfs_root *root, struct buffer_head *t) | ||
74 | { | 73 | { |
75 | int i; | 74 | int i; |
76 | u32 nr; | 75 | u32 nr; |
@@ -78,16 +77,16 @@ void btrfs_print_tree(struct btrfs_root *root, struct btrfs_buffer *t) | |||
78 | 77 | ||
79 | if (!t) | 78 | if (!t) |
80 | return; | 79 | return; |
81 | c = &t->node; | 80 | c = btrfs_buffer_node(t); |
82 | nr = btrfs_header_nritems(&c->header); | 81 | nr = btrfs_header_nritems(&c->header); |
83 | if (btrfs_is_leaf(c)) { | 82 | if (btrfs_is_leaf(c)) { |
84 | btrfs_print_leaf(root, (struct btrfs_leaf *)c); | 83 | btrfs_print_leaf(root, (struct btrfs_leaf *)c); |
85 | return; | 84 | return; |
86 | } | 85 | } |
87 | printk("node %Lu level %d total ptrs %d free spc %u\n", t->blocknr, | 86 | printk("node %Lu level %d total ptrs %d free spc %u\n", |
88 | btrfs_header_level(&c->header), nr, | 87 | btrfs_header_blocknr(&c->header), |
89 | (u32)BTRFS_NODEPTRS_PER_BLOCK(root) - nr); | 88 | btrfs_header_level(&c->header), nr, |
90 | fflush(stdout); | 89 | (u32)BTRFS_NODEPTRS_PER_BLOCK(root) - nr); |
91 | for (i = 0; i < nr; i++) { | 90 | for (i = 0; i < nr; i++) { |
92 | printk("\tkey %d (%Lu %u %Lu) block %Lu\n", | 91 | printk("\tkey %d (%Lu %u %Lu) block %Lu\n", |
93 | i, | 92 | i, |
@@ -95,12 +94,11 @@ void btrfs_print_tree(struct btrfs_root *root, struct btrfs_buffer *t) | |||
95 | c->ptrs[i].key.flags, | 94 | c->ptrs[i].key.flags, |
96 | c->ptrs[i].key.offset, | 95 | c->ptrs[i].key.offset, |
97 | btrfs_node_blockptr(c, i)); | 96 | btrfs_node_blockptr(c, i)); |
98 | fflush(stdout); | ||
99 | } | 97 | } |
100 | for (i = 0; i < nr; i++) { | 98 | for (i = 0; i < nr; i++) { |
101 | struct btrfs_buffer *next_buf = read_tree_block(root, | 99 | struct buffer_head *next_buf = read_tree_block(root, |
102 | btrfs_node_blockptr(c, i)); | 100 | btrfs_node_blockptr(c, i)); |
103 | struct btrfs_node *next = &next_buf->node; | 101 | struct btrfs_node *next = btrfs_buffer_node(next_buf); |
104 | if (btrfs_is_leaf(next) && | 102 | if (btrfs_is_leaf(next) && |
105 | btrfs_header_level(&c->header) != 1) | 103 | btrfs_header_level(&c->header) != 1) |
106 | BUG(); | 104 | BUG(); |