case BTRFS_DIR_INDEX_KEY:
printf("DIR_INDEX");
break;
+ case BTRFS_DIR_LOG_ITEM_KEY:
+ printf("DIR_LOG_ITEM");
+ break;
+ case BTRFS_DIR_LOG_INDEX_KEY:
+ printf("DIR_LOG_INDEX");
+ break;
case BTRFS_XATTR_ITEM_KEY:
printf("XATTR_ITEM");
break;
struct btrfs_disk_key disk_key;
struct btrfs_root_item root_item;
struct btrfs_block_group_item bg_item;
+ struct btrfs_dir_log_item *dlog;
u32 nr = btrfs_header_nritems(l);
u32 type;
di = btrfs_item_ptr(l, i, struct btrfs_dir_item);
print_dir_item(l, item, di);
break;
+ case BTRFS_DIR_LOG_INDEX_KEY:
+ case BTRFS_DIR_LOG_ITEM_KEY:
+ dlog = btrfs_item_ptr(l, i, struct btrfs_dir_log_item);
+ printf("\t\tdir log end %Lu\n",
+ btrfs_dir_log_end(l, dlog));
+ break;
case BTRFS_ORPHAN_ITEM_KEY:
printf("\t\torphan item\n");
break;
btrfs_node_blockptr(eb, i),
size,
btrfs_node_ptr_generation(eb, i));
+ if (!next) {
+ fprintf(stderr, "failed to read %llu in tree %llu\n",
+ (unsigned long long)btrfs_node_blockptr(eb, i),
+ (unsigned long long)btrfs_header_owner(eb));
+ continue;
+ }
if (btrfs_is_leaf(next) &&
btrfs_header_level(eb) != 1)
BUG();