]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/btrfs/print-tree.c
Btrfs: fix oops after block group lookup
[linux-2.6-omap-h63xx.git] / fs / btrfs / print-tree.c
index 0732a2fbb23a9894e3bf3a8fa96b050449b80dd8..28813411de66bafacbfd999c03dbaa274c2d547f 100644 (file)
@@ -1,6 +1,7 @@
 #include <linux/module.h>
 #include "ctree.h"
 #include "disk-io.h"
+#include "print-tree.h"
 
 void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l)
 {
@@ -11,6 +12,7 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l)
        struct btrfs_root_item *ri;
        struct btrfs_dir_item *di;
        struct btrfs_inode_item *ii;
+       struct btrfs_block_group_item *bi;
        u32 type;
 
        printk("leaf %Lu total ptrs %d free space %d\n",
@@ -19,7 +21,7 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l)
        for (i = 0 ; i < nr ; i++) {
                item = l->items + i;
                type = btrfs_disk_key_type(&item->key);
-               printk("\titem %d key (%Lu %u %Lu) itemoff %d itemsize %d\n",
+               printk("\titem %d key (%Lu %x %Lu) itemoff %d itemsize %d\n",
                        i,
                        btrfs_disk_key_objectid(&item->key),
                        btrfs_disk_key_flags(&item->key),
@@ -53,6 +55,12 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l)
                        printk("\t\textent data refs %u\n",
                                btrfs_extent_refs(ei));
                        break;
+               case BTRFS_BLOCK_GROUP_ITEM_KEY:
+                       bi = btrfs_item_ptr(l, i,
+                                           struct btrfs_block_group_item);
+                       printk("\t\tblock group used %Lu\n",
+                              btrfs_block_group_used(bi));
+                       break;
                case BTRFS_STRING_ITEM_KEY:
                        printk("\t\titem data %.*s\n", btrfs_item_size(item),
                                btrfs_leaf_data(l) + btrfs_item_offset(item));