btrfs-progs: show-super: Add option to print superblock at given bytenr
Add '-s <sb_bytenr>' option to show superblock at given bytenr. This is very useful to debug non-standard btrfs, like debuging the 1st stage btrfs of btrfs-convert. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> [ minor updates in docs ] Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
b1c222321e
commit
c328e0db4a
|
@ -40,6 +40,10 @@ If several '-i <super_mirror>' are given, only the last one is valid.
|
|||
Attempt to print the superblock even if no superblock magic is found. May end
|
||||
badly.
|
||||
|
||||
-s <bytenr>::
|
||||
specifiy offset to a superblock in a non-standard location at 'bytenr', useful
|
||||
for debugging (disables the '-f' option)
|
||||
|
||||
EXIT STATUS
|
||||
-----------
|
||||
*btrfs-show-super* will return 0 if no error happened.
|
||||
|
|
|
@ -48,6 +48,7 @@ static void print_usage(void)
|
|||
fprintf(stderr, "\t-a : print information of all superblocks\n");
|
||||
fprintf(stderr, "\t-i <super_mirror> : specify which mirror to print out\n");
|
||||
fprintf(stderr, "\t-F : attempt to dump superblocks with bad magic\n");
|
||||
fprintf(stderr, "\t-s <bytenr> : specify alternate superblock offset\n");
|
||||
fprintf(stderr, "%s\n", PACKAGE_STRING);
|
||||
}
|
||||
|
||||
|
@ -63,7 +64,7 @@ int main(int argc, char **argv)
|
|||
u64 arg;
|
||||
u64 sb_bytenr = btrfs_sb_offset(0);
|
||||
|
||||
while ((opt = getopt(argc, argv, "fFai:")) != -1) {
|
||||
while ((opt = getopt(argc, argv, "fFai:s:")) != -1) {
|
||||
switch (opt) {
|
||||
case 'i':
|
||||
arg = arg_strtou64(optarg);
|
||||
|
@ -86,6 +87,10 @@ int main(int argc, char **argv)
|
|||
case 'F':
|
||||
force = 1;
|
||||
break;
|
||||
case 's':
|
||||
sb_bytenr = arg_strtou64(optarg);
|
||||
all = 0;
|
||||
break;
|
||||
default:
|
||||
print_usage();
|
||||
exit(1);
|
||||
|
|
Loading…
Reference in New Issue