summaryrefslogtreecommitdiff
path: root/print-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'print-tree.c')
-rw-r--r--print-tree.c79
1 files changed, 73 insertions, 6 deletions
diff --git a/print-tree.c b/print-tree.c
index b69447d0..52ef7c7c 100644
--- a/print-tree.c
+++ b/print-tree.c
@@ -174,6 +174,71 @@ static void print_root_ref(struct extent_buffer *leaf, int slot, char *tag)
namelen, namebuf);
}
+static void print_key_type(u8 type)
+{
+ switch (type) {
+ case BTRFS_INODE_ITEM_KEY:
+ printf("INODE_ITEM");
+ break;
+ case BTRFS_INODE_REF_KEY:
+ printf("INODE_REF");
+ break;
+ case BTRFS_DIR_ITEM_KEY:
+ printf("DIR_ITEM");
+ break;
+ case BTRFS_DIR_INDEX_KEY:
+ printf("DIR_INDEX");
+ break;
+ case BTRFS_XATTR_ITEM_KEY:
+ printf("XATTR_ITEM");
+ break;
+ case BTRFS_ORPHAN_ITEM_KEY:
+ printf("ORPHAN_ITEM");
+ break;
+ case BTRFS_ROOT_ITEM_KEY:
+ printf("ROOT_ITEM");
+ break;
+ case BTRFS_ROOT_REF_KEY:
+ printf("ROOT_REF");
+ break;
+ case BTRFS_ROOT_BACKREF_KEY:
+ printf("ROOT_BACKREF");
+ break;
+ case BTRFS_EXTENT_ITEM_KEY:
+ printf("EXTENT_ITEM");
+ break;
+ case BTRFS_EXTENT_REF_KEY:
+ printf("EXTENT_REF");
+ break;
+ case BTRFS_CSUM_ITEM_KEY:
+ printf("CSUM_ITEM");
+ break;
+ case BTRFS_EXTENT_CSUM_KEY:
+ printf("EXTENT_CSUM");
+ break;
+ case BTRFS_EXTENT_DATA_KEY:
+ printf("EXTENT_DATA");
+ break;
+ case BTRFS_BLOCK_GROUP_ITEM_KEY:
+ printf("GROUP_ITEM");
+ break;
+ case BTRFS_CHUNK_ITEM_KEY:
+ printf("CHUNK_ITEM");
+ break;
+ case BTRFS_DEV_ITEM_KEY:
+ printf("DEV_ITEM");
+ break;
+ case BTRFS_DEV_EXTENT_KEY:
+ printf("DEV_EXTENT");
+ break;
+ case BTRFS_STRING_ITEM_KEY:
+ printf("STRING_ITEM");
+ break;
+ default:
+ printf("UNKNOWN");
+ };
+}
+
void btrfs_print_leaf(struct btrfs_root *root, struct extent_buffer *l)
{
int i;
@@ -206,10 +271,11 @@ void btrfs_print_leaf(struct btrfs_root *root, struct extent_buffer *l)
item = btrfs_item_nr(l, i);
btrfs_item_key(l, &disk_key, i);
type = btrfs_disk_key_type(&disk_key);
- printf("\titem %d key (%llu %x %llu) itemoff %d itemsize %d\n",
+ printf("\titem %d key (%llu ",
i,
- (unsigned long long)btrfs_disk_key_objectid(&disk_key),
- btrfs_disk_key_type(&disk_key),
+ (unsigned long long)btrfs_disk_key_objectid(&disk_key));
+ print_key_type(type);
+ printf(" %llu) itemoff %d itemsize %d\n",
(unsigned long long)btrfs_disk_key_offset(&disk_key),
btrfs_item_offset(l, item),
btrfs_item_size(l, item));
@@ -355,10 +421,11 @@ void btrfs_print_tree(struct btrfs_root *root, struct extent_buffer *eb)
for (i = 0; i < nr; i++) {
u64 blocknr = btrfs_node_blockptr(eb, i);
btrfs_node_key_to_cpu(eb, &key, i);
- printf("\tkey %d (%llu %x %llu) block %llu (%llu) gen %llu\n",
+ printf("\tkey %d (%llu ",
i,
- (unsigned long long)key.objectid,
- key.type,
+ (unsigned long long)key.objectid);
+ print_key_type(key.type);
+ printf(" %llu) block %llu (%llu) gen %llu\n",
(unsigned long long)key.offset,
(unsigned long long)blocknr,
(unsigned long long)blocknr / size,