xfs
[Top] [All Lists]

Re: [PATCH V2] xfs_repair: print superblock offsets and why they can't b

To: xfs@xxxxxxxxxxx
Subject: Re: [PATCH V2] xfs_repair: print superblock offsets and why they can't be verified
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Thu, 23 Oct 2008 09:24:35 -0500
In-reply-to: <490081C6.1030301@xxxxxxxxxxx>
References: <20081022183636.GE20550@kyra> <20081022234128.GC4395@kyra> <490081C6.1030301@xxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.17 (Macintosh/20080914)
Eric Sandeen wrote:
> KELEMEN Peter wrote:
>> Eric has pointed out that verify_set_primary_sb() will either
>> return 1 or XR_INSUFF_SEC_SB.  Move the check lower into
>> verify_set_primary_sb() by checking the return value of
>> verify_sb().  Example output:
>>
>> found candidate secondary superblock...
>> verifying sb at 31249334272: bad magic number (1)
>> verifying sb at 62498668544: bad magic number (1)
>> verifying sb at 93748002816: bad magic number (1)
>> verifying sb at 124997337088: bad magic number (1)
>> unable to verify superblock, continuing...
>>
> 
> This looks better :)  You may want to add even more info...
> 
> while it's just searching block by block, if it finds a candidate, I'd
> print the sector offset for that candidate (your first output line).
> 
> And rather than "verifying sb at..." you might do something like
> "comparing to sb N at offset X":
> 
> +     } else {
> +             do_warn("comparing with sb %d at sector %Lu failed: %s (%d)\n",
> +                     agno, off, err_string(reason), reason);

Sorry, that was a pre-coffee email :)  The units are bytes, not sectors,
aren't they... in any case, printing the (proper) units for the values
would be helpful.

-Eric

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