Example output (without the scanning dots):
Phase 1 - find and verify superblock.
bad primary superblock - bad magic number !!!
attempting to find secondary superblock...
found candidate secondary superblock...
offset: 62498275328
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 156246212608
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 249994149888
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 343742087168
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 437490024448
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 531237961728
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 624985899008
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 718733836288
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 812481773568
reason: 16
unable to verify superblock, continuing...
found candidate secondary superblock...
offset: 906229710848
reason: 16
unable to verify superblock, continuing...
Sorry, could not find valid secondary superblock
Exiting now.
Signed-off-by: KELEMEN Peter <Peter.Kelemen@xxxxxxx>
Index: xfsprogs/repair/sb.c
===================================================================
RCS file: /cvs/xfs-cmds/xfsprogs/repair/sb.c,v
retrieving revision 1.22
diff -u -r1.22 sb.c
--- xfsprogs/repair/sb.c 8 Sep 2008 06:18:43 -0000 1.22
+++ xfsprogs/repair/sb.c 22 Oct 2008 18:13:26 -0000
@@ -96,6 +96,7 @@
int dirty;
int retval;
int bsize;
+ int reason; /* why sb cannot be verified */
do_warn(_("\nattempting to find secondary superblock...\n"));
@@ -140,6 +141,7 @@
continue;
do_warn(_("found candidate secondary superblock...\n"));
+ do_warn("offset: %Lu\n", off);
/*
* found one. now verify it by looking
@@ -149,12 +151,13 @@
rsb->sb_inprogress = 0;
clear_sunit = 1;
- if (verify_set_primary_sb(rsb, 0, &dirty) == XR_OK) {
+ if ((reason = verify_set_primary_sb(rsb, 0, &dirty)) ==
XR_OK) {
do_warn(
_("verified secondary superblock...\n"));
done = 1;
retval = 1;
} else {
+ do_warn("reason: %d\n", reason);
do_warn(
_("unable to verify superblock, continuing...\n"));
}
|