From: Martin Wilck <mwi...@arcor.de>

btrfs-debug-tree prints only the given block. It is sometimes
useful to be able to print the subtree under this block.
This patch enables this behavior with the option "-f".

Signed-off-by: Martin Wilck <mwi...@arcor.de>
---
 btrfs-debug-tree.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/btrfs-debug-tree.c b/btrfs-debug-tree.c
index e46500d..e61c71c 100644
--- a/btrfs-debug-tree.c
+++ b/btrfs-debug-tree.c
@@ -41,6 +41,8 @@ static int print_usage(void)
        fprintf(stderr, "\t-u : print info of uuid tree only\n");
        fprintf(stderr, "\t-b block_num : print info of the specified block"
                     " only\n");
+       fprintf(stderr, "\t-f : (with -b) follow subtree of the specified"
+               " block\n");
        fprintf(stderr,
                "\t-t tree_id : print only the tree with the given id\n");
        fprintf(stderr, "%s\n", BTRFS_BUILD_VERSION);
@@ -137,6 +139,7 @@ int main(int ac, char **av)
        int roots_only = 0;
        int root_backups = 0;
        u64 block_only = 0;
+       int block_follow = 0;
        struct btrfs_root *tree_root_scan;
        u64 tree_id = 0;
 
@@ -144,7 +147,7 @@ int main(int ac, char **av)
 
        while(1) {
                int c;
-               c = getopt(ac, av, "deb:rRut:");
+               c = getopt(ac, av, "defb:rRut:");
                if (c < 0)
                        break;
                switch(c) {
@@ -167,6 +170,9 @@ int main(int ac, char **av)
                        case 'b':
                                block_only = arg_strtou64(optarg);
                                break;
+                       case 'f':
+                               block_follow = 1;
+                               break;
                        case 't':
                                tree_id = arg_strtou64(optarg);
                                break;
@@ -211,7 +217,7 @@ int main(int ac, char **av)
                                (unsigned long long)block_only);
                        goto close_root;
                }
-               btrfs_print_tree(root, leaf, 0);
+               btrfs_print_tree(root, leaf, block_follow);
                goto close_root;
        }
 
-- 
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to