summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ctree.h4
-rw-r--r--print-tree.c3
2 files changed, 7 insertions, 0 deletions
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));