Hello,

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.  Thanks,

Josef


diff -r e08f2f90e4f8 ctree.h
--- a/ctree.h   Thu Jul 24 13:52:04 2008 -0400
+++ b/ctree.h   Fri Jul 25 16:18:38 2008 -0400
@@ -54,6 +54,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 -r e08f2f90e4f8 print-tree.c
--- a/print-tree.c      Thu Jul 24 13:52:04 2008 -0400
+++ b/print-tree.c      Fri Jul 25 16:18:38 2008 -0400
@@ -183,6 +183,9 @@ void btrfs_print_leaf(struct btrfs_root 
                        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));
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to