summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQu Wenruo <quwenruo@cn.fujitsu.com>2017-03-14 13:35:18 +0800
committerDavid Sterba <dsterba@suse.com>2017-03-16 17:02:45 +0100
commitc3d38a188024c3a3e85eb01c20e4b20f7abec000 (patch)
tree716ef1cf412f88c02d0b50bcf3f0ecb6fcc51408
parent3d4c030d7fe92fca679e34dc5e734b1509c4d2d3 (diff)
btrfs-progs: dump-tree: Also output log root tree
In btrfs-dump-tree, we output any existing log tree, however we don't output the log root tree, which records all root items for log trees. This makes it confusing for any one who want to know where the log tree comes from. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--cmds-inspect-dump-tree.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/cmds-inspect-dump-tree.c b/cmds-inspect-dump-tree.c
index 2c6bec7f..5a5ca536 100644
--- a/cmds-inspect-dump-tree.c
+++ b/cmds-inspect-dump-tree.c
@@ -344,6 +344,11 @@ int cmd_inspect_dump_tree(int argc, char **argv)
printf("chunk tree: %llu level %d\n",
(unsigned long long)info->chunk_root->node->start,
btrfs_header_level(info->chunk_root->node));
+ if (info->log_root_tree)
+ printf("log root tree: %llu level %d\n",
+ info->log_root_tree->node->start,
+ btrfs_header_level(
+ info->log_root_tree->node));
} else {
if (info->tree_root->node) {
printf("root tree\n");
@@ -356,6 +361,12 @@ int cmd_inspect_dump_tree(int argc, char **argv)
btrfs_print_tree(info->chunk_root,
info->chunk_root->node, 1);
}
+
+ if (info->log_root_tree) {
+ printf("log root tree\n");
+ btrfs_print_tree(info->log_root_tree,
+ info->log_root_tree->node, 1);
+ }
}
}
tree_root_scan = info->tree_root;
@@ -388,6 +399,17 @@ again:
goto close_root;
}
+ if (tree_id && tree_id == BTRFS_TREE_LOG_OBJECTID) {
+ if (!info->log_root_tree) {
+ error("cannot print log root tree, invalid pointer");
+ goto close_root;
+ }
+ printf("log root tree\n");
+ btrfs_print_tree(info->log_root_tree, info->log_root_tree->node,
+ 1);
+ goto close_root;
+ }
+
key.offset = 0;
key.objectid = 0;
key.type = BTRFS_ROOT_ITEM_KEY;