From 0045e0dd707a2db25231c454cb8d247bb56308cf Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Wed, 30 Jul 2008 09:15:02 -0400 Subject: [PATCH] btrfs-progs: add orphan support to print-tree This adds orphan support to print-tree so when debug_tree hits an orphan item it will print out "orphan item" under it so you know what it is --- ctree.h | 4 ++++ print-tree.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/ctree.h b/ctree.h index d9209783..821bf9bf 100644 --- a/ctree.h +++ b/ctree.h @@ -55,6 +55,9 @@ struct btrfs_trans_handle; /* directory objectid inside the root tree */ #define BTRFS_ROOT_TREE_DIR_OBJECTID 6ULL +/* oprhan objectid for tracking unlinked/truncated files */ +#define BTRFS_ORPHAN_OBJECTID -5ULL + /* * All files have objectids higher than this. */ @@ -564,6 +567,7 @@ struct btrfs_root { #define BTRFS_INODE_ITEM_KEY 1 #define BTRFS_INODE_REF_KEY 2 #define BTRFS_XATTR_ITEM_KEY 8 +#define BTRFS_ORPHAN_ITEM_KEY 9 /* reserve 3-15 close to the inode for later flexibility */ diff --git a/print-tree.c b/print-tree.c index 5914a6a6..d6d32a0e 100644 --- a/print-tree.c +++ b/print-tree.c @@ -183,6 +183,9 @@ void btrfs_print_leaf(struct btrfs_root *root, struct extent_buffer *l) di = btrfs_item_ptr(l, i, struct btrfs_dir_item); print_dir_item(l, item, di); break; + case BTRFS_ORPHAN_ITEM_KEY: + printf("\t\torphan item\n"); + break; case BTRFS_ROOT_ITEM_KEY: ri = btrfs_item_ptr(l, i, struct btrfs_root_item); read_extent_buffer(l, &root_item, (unsigned long)ri, sizeof(root_item));