Add option '-a' for btrfs-find-root to iterate all the metadata extents
even the root is already found.
Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
---
Documentation/btrfs-find-root.txt | 2 ++
btrfs-find-root.c | 31 +++++++++++++++++--------------
2 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/Documentation/btrfs-find-root.txt b/Documentation/btrfs-find-root.txt
index c934b4c..e04cd3e 100644
--- a/Documentation/btrfs-find-root.txt
+++ b/Documentation/btrfs-find-root.txt
@@ -16,6 +16,8 @@ root tree's objectid, generation, level.
OPTIONS
-------
+-a::
+Search through all the metadata extents, even the root is already found.
-g <generation>::
Filter root tree by it's original transaction id, tree root's generation in default.
-o <objectid>::
diff --git a/btrfs-find-root.c b/btrfs-find-root.c
index 31fe0ae..1da5513 100644
--- a/btrfs-find-root.c
+++ b/btrfs-find-root.c
@@ -39,7 +39,7 @@
static void usage(void)
{
- fprintf(stderr, "Usage: find-roots [-o search_objectid] "
+ fprintf(stderr, "Usage: find-roots [-a] [-o search_objectid] "
"[ -g search_generation ] [ -l search_level ] <device>\n");
}
@@ -152,20 +152,23 @@ int main(int argc, char **argv)
filter.objectid = BTRFS_ROOT_TREE_OBJECTID;
filter.match_gen = (u64)-1;
filter.match_level = (u8)-1;
- while ((opt = getopt(argc, argv, "l:o:g:")) != -1) {
+ while ((opt = getopt(argc, argv, "al:o:g:")) != -1) {
switch(opt) {
- case 'o':
- filter.objectid = arg_strtou64(optarg);
- break;
- case 'g':
- filter.generation = arg_strtou64(optarg);
- break;
- case 'l':
- filter.level = arg_strtou64(optarg);
- break;
- default:
- usage();
- exit(1);
+ case 'a':
+ filter.search_all = 1;
+ break;
+ case 'o':
+ filter.objectid = arg_strtou64(optarg);
+ break;
+ case 'g':
+ filter.generation = arg_strtou64(optarg);
+ break;
+ case 'l':
+ filter.level = arg_strtou64(optarg);
+ break;
+ default:
+ usage();
+ exit(1);
}
}
--
2.2.2
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html