add file extents to print_leaf
authorChris Mason <chris.mason@oracle.com>
Mon, 26 Mar 2007 20:01:00 +0000 (16:01 -0400)
committerDavid Woodhouse <dwmw2@hera.kernel.org>
Mon, 26 Mar 2007 20:01:00 +0000 (16:01 -0400)
ctree.h
print-tree.c

diff --git a/ctree.h b/ctree.h
index 569504e..8fed41e 100644 (file)
--- a/ctree.h
+++ b/ctree.h
@@ -191,7 +191,7 @@ struct btrfs_file_extent_item {
        __le64 disk_blocknr;
        __le64 disk_num_blocks;
        /*
-        * the logical offset in file bytes (no csums)
+        * the logical offset in file blocks (no csums)
         * this extent record is for.  This allows a file extent to point
         * into the middle of an existing extent on disk, sharing it
         * between two snapshots (useful if some bytes in the middle of the
index 5259b6e..5fa8d8a 100644 (file)
@@ -15,6 +15,7 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l)
        struct btrfs_dir_item *di;
        struct btrfs_inode_map_item *mi;
        struct btrfs_inode_item *ii;
+       struct btrfs_file_extent_item *fi;
        u32 type;
 
        printf("leaf %Lu ptrs %d free space %d parent %Lu generation %Lu\n",
@@ -67,6 +68,16 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l)
                               btrfs_disk_key_flags(&mi->key),
                               btrfs_disk_key_offset(&mi->key));
                        break;
+               case BTRFS_EXTENT_DATA_KEY:
+                       fi = btrfs_item_ptr(l, i,
+                                           struct btrfs_file_extent_item);
+                       printf("\t\textent data disk block %Lu nr %Lu\n",
+                              btrfs_file_extent_disk_blocknr(fi),
+                              btrfs_file_extent_disk_num_blocks(fi));
+                       printf("\t\textent data offset %Lu nr %Lu\n",
+                              btrfs_file_extent_offset(fi),
+                              btrfs_file_extent_num_blocks(fi));
+                       break;
                case BTRFS_STRING_ITEM_KEY:
                        printf("\t\titem data %.*s\n", btrfs_item_size(item),
                                btrfs_leaf_data(l) + btrfs_item_offset(item));