summaryrefslogtreecommitdiff
path: root/print-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'print-tree.c')
-rw-r--r--print-tree.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/print-tree.c b/print-tree.c
index 90d55073..dd442c53 100644
--- a/print-tree.c
+++ b/print-tree.c
@@ -31,13 +31,15 @@ static int print_dir_item(struct btrfs_item *item,
u32 len;
total = btrfs_item_size(item);
while(cur < total) {
- printf("\t\tdir index %llu flags %u type %u\n",
+ printf("\t\tdir index %llu type %u\n",
(unsigned long long)btrfs_disk_key_objectid(&di->location),
- btrfs_dir_flags(di),
btrfs_dir_type(di));
- printf("\t\tname %.*s\n",
+ printf("\t\tname: %.*s\n",
btrfs_dir_name_len(di),(char *)(di + 1));
- len = sizeof(*di) + btrfs_dir_name_len(di);
+ if (btrfs_dir_data_len(di))
+ printf("\t\tdata: %.*s\n", btrfs_dir_data_len(di),
+ (char *)((char *)(di + 1) + btrfs_dir_name_len(di)));
+ len = sizeof(*di) + btrfs_dir_name_len(di) + btrfs_dir_data_len(di);
di = (struct btrfs_dir_item *)((char *)di + len);
cur += len;
}
@@ -87,6 +89,7 @@ void btrfs_print_leaf(struct btrfs_root *root, struct btrfs_leaf *l)
di = btrfs_item_ptr(l, i, struct btrfs_dir_item);
print_dir_item(l->items + i, di);
break;
+ case BTRFS_XATTR_ITEM_KEY:
case BTRFS_DIR_INDEX_KEY:
di = btrfs_item_ptr(l, i, struct btrfs_dir_item);
print_dir_item(l->items + i, di);