xfs
[Top] [All Lists]

[PATCH] xfs_repair: print superblock offsets and denial reasons

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfs_repair: print superblock offsets and denial reasons
From: KELEMEN Peter <Peter.Kelemen@xxxxxxx>
Date: Wed, 22 Oct 2008 20:36:36 +0200
Mail-followup-to: xfs@xxxxxxxxxxx
Organization: CERN European Laboratory for Particle Physics, Switzerland
User-agent: Mutt/1.5.17+20080114 (2008-01-14)
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"));
                        }

<Prev in Thread] Current Thread [Next in Thread>