Sometimes we have a pretty corrupted fs but have an old tree bytenr that we could use, add the ability to specify the tree root bytenr. Thanks,
Signed-off-by: Josef Bacik <[email protected]> --- cmds-check.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cmds-check.c b/cmds-check.c index 2a5f823..38f8d11 100644 --- a/cmds-check.c +++ b/cmds-check.c @@ -7546,6 +7546,7 @@ static struct option long_options[] = { { "backup", 0, NULL, 0 }, { "subvol-extents", no_argument, NULL, 'E' }, { "qgroup-report", 0, NULL, 'Q' }, + { "tree-root", 1, NULL, 'r' }, { NULL, 0, NULL, 0} }; @@ -7561,6 +7562,7 @@ const char * const cmd_check_usage[] = { "--check-data-csum verify checkums of data blocks", "--qgroup-report print a report on qgroup consistency", "--subvol-extents print subvolume extents and sharing state", + "--tree-root use the given bytenr for the tree root", NULL }; @@ -7571,6 +7573,7 @@ int cmd_check(int argc, char **argv) struct btrfs_fs_info *info; u64 bytenr = 0; u64 subvolid = 0; + u64 tree_root_bytenr = 0; char uuidbuf[BTRFS_UUID_UNPARSED_SIZE]; int ret; u64 num; @@ -7581,7 +7584,7 @@ int cmd_check(int argc, char **argv) while(1) { int c; - c = getopt_long(argc, argv, "as:b", long_options, + c = getopt_long(argc, argv, "as:br:", long_options, &option_index); if (c < 0) break; @@ -7608,6 +7611,9 @@ int cmd_check(int argc, char **argv) case 'E': subvolid = arg_strtou64(optarg); break; + case 'r': + tree_root_bytenr = arg_strtou64(optarg); + break; case '?': case 'h': usage(cmd_check_usage); @@ -7651,7 +7657,8 @@ int cmd_check(int argc, char **argv) if (repair) ctree_flags |= OPEN_CTREE_PARTIAL; - info = open_ctree_fs_info(argv[optind], bytenr, 0, ctree_flags); + info = open_ctree_fs_info(argv[optind], bytenr, tree_root_bytenr, + ctree_flags); if (!info) { fprintf(stderr, "Couldn't open file system\n"); ret = -EIO; -- 1.8.3.1 -- 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
