Transpire global --verbose option down to the btrfs rescue chunk-recover
sub-command.
For example: Both global and local verbose options are now supported.
btrfs -v|--verbose rescue chunk-recover
btrfs rescue chunk-recover -v
Suggested-by: David Sterba <dsterba@xxxxxxxx>
Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx>
---
cmds/rescue.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/cmds/rescue.c b/cmds/rescue.c
index e8eab6808bc3..649f612aa051 100644
--- a/cmds/rescue.c
+++ b/cmds/rescue.c
@@ -40,6 +40,8 @@ static const char * const cmd_rescue_chunk_recover_usage[] = {
"-y Assume an answer of `yes' to all questions",
"-v Verbose mode",
"-h Help",
+ HELPINFO_GLOBAL_OPTIONS_HEADER,
+ HELPINFO_INSERT_VERBOSE,
NULL
};
@@ -49,7 +51,10 @@ static int cmd_rescue_chunk_recover(const struct cmd_struct *cmd,
int ret = 0;
char *file;
int yes = 0;
- int verbose = 0;
+
+ /* If verbose is unset, set it to 0 */
+ if (bconf.verbose < 0)
+ bconf.verbose = 0;
optind = 0;
while (1) {
@@ -61,7 +66,7 @@ static int cmd_rescue_chunk_recover(const struct cmd_struct *cmd,
yes = 1;
break;
case 'v':
- verbose = 1;
+ bconf.verbose++;
break;
default:
usage_unknown_option(cmd, argv);
@@ -83,7 +88,7 @@ static int cmd_rescue_chunk_recover(const struct cmd_struct *cmd,
return 1;
}
- ret = btrfs_recover_chunk_tree(file, verbose, yes);
+ ret = btrfs_recover_chunk_tree(file, bconf.verbose, yes);
if (!ret) {
fprintf(stdout, "Chunk tree recovered successfully\n");
} else if (ret > 0) {
--
2.23.0