[PATCH] btrfs-progs: show-super: Add option to print superblock at given bytenr

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxx>
---
 Documentation/btrfs-show-super.asciidoc | 5 +++++
 btrfs-show-super.c                      | 7 ++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/Documentation/btrfs-show-super.asciidoc b/Documentation/btrfs-show-super.asciidoc
index 1646be3..3480a3d 100644
--- a/Documentation/btrfs-show-super.asciidoc
+++ b/Documentation/btrfs-show-super.asciidoc
@@ -40,6 +40,11 @@ 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 <super_bytenr>::
+Specifiy the superblock bytenr.
++
+Used for debug purpose. Disable '-f' option.
+
 EXIT STATUS
 -----------
 *btrfs-show-super* will return 0 if no error happened.
diff --git a/btrfs-show-super.c b/btrfs-show-super.c
index 27414c8..7b499e4 100644
--- a/btrfs-show-super.c
+++ b/btrfs-show-super.c
@@ -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 the superblock bytenr\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);
-- 
2.6.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




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux