summaryrefslogtreecommitdiff
path: root/cmds-inspect-dump-super.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmds-inspect-dump-super.c')
-rw-r--r--cmds-inspect-dump-super.c32
1 files changed, 25 insertions, 7 deletions
diff --git a/cmds-inspect-dump-super.c b/cmds-inspect-dump-super.c
index aab50752..0ae740a2 100644
--- a/cmds-inspect-dump-super.c
+++ b/cmds-inspect-dump-super.c
@@ -458,11 +458,18 @@ static int load_and_dump_sb(char *filename, int fd, u64 sb_bytenr, int full,
const char * const cmd_inspect_dump_super_usage[] = {
"btrfs inspect-internal dump-super [options] device [device...]",
"Dump superblock from a device in a textual form",
- "-f|--full print full superblock information",
- "-a|--all print information about all superblocks",
- "-i <super_mirror> specify which mirror to print out",
- "-F|--force attempt to dump superblocks with bad magic",
- "-s <bytenr> specify alternate superblock offset",
+ "-f|--full print full superblock information, backup roots etc.",
+ "-a|--all print information about all superblocks",
+ "-s|--super <super> specify which copy to print out (values: 0, 1, 2)",
+ "-F|--force attempt to dump superblocks with bad magic",
+ "--bytenr <offset> specify alternate superblock offset",
+ "",
+ "Deprecated syntax:",
+ "-s <bytenr> specify alternate superblock offset, values other than 0, 1, 2",
+ " will be interpreted as --bytenr for backward compatibility,",
+ " option renamed for consistency with other tools (eg. check)",
+ "-i <super> specify which copy to print out (values: 0, 1, 2), now moved",
+ " to -s|--super",
NULL
};
@@ -484,6 +491,7 @@ int cmd_inspect_dump_super(int argc, char **argv)
{"all", no_argument, NULL, 'a'},
{"full", no_argument, NULL, 'f'},
{"force", no_argument, NULL, 'F'},
+ {"super", required_argument, NULL, 's' },
{NULL, 0, NULL, 0}
};
@@ -493,11 +501,13 @@ int cmd_inspect_dump_super(int argc, char **argv)
switch (c) {
case 'i':
+ warning(
+ "option -i is deprecated, please use -s or --super");
arg = arg_strtou64(optarg);
if (arg >= BTRFS_SUPER_MIRROR_MAX) {
error("super mirror too big: %llu >= %d",
arg, BTRFS_SUPER_MIRROR_MAX);
- usage(cmd_inspect_dump_super_usage);
+ return 1;
}
sb_bytenr = btrfs_sb_offset(arg);
break;
@@ -512,7 +522,15 @@ int cmd_inspect_dump_super(int argc, char **argv)
force = 1;
break;
case 's':
- sb_bytenr = arg_strtou64(optarg);
+ arg = arg_strtou64(optarg);
+ if (BTRFS_SUPER_MIRROR_MAX <= arg) {
+ warning(
+ "deprecated use of -s <bytenr> with %llu, assuming --bytenr",
+ (unsigned long long)arg);
+ sb_bytenr = arg;
+ } else {
+ sb_bytenr = btrfs_sb_offset(arg);
+ }
all = 0;
break;
default: