On 8/12/14, 9:42 AM, Eric Sandeen wrote:
> On 8/12/14, 3:49 AM, Felipe Monteiro de Carvalho wrote:
>> I am trying to recover a XFS partition (or series of partitions) where
>> the main superblock was corrupted, and I see that there are multiple
>> superblock copies. I'd like to guess the partition start and size
> so I guess you mean that the partition table was corrupted as well?
>> I see that the partition size can be calculated with sb_blocksize* sb_dblocks
>> But what about the partition start? I think I can guess it based in
>> the position of the found superblocks.
>> Any ideas where is the code that writes to disk those backup
>> superblocks? So far to me it looks like that their position is
>> calculated as disk_size / 4 rounded (nearest rounding?) to a multiple
>> of sb_blocksize, but having the exact code part would be better of
>> course =) Or even better, a list of backup superblock positions...
> How hard have you tried looking? ;)
> In xfsprogs, you can find this if you search for "backup":
> " set allocation group superblock\n"
> " Example:\n"
> " 'sb 7' - set location to 7th allocation group superblock, set type to
> " Located in the first sector of each allocation group, the superblock\n"
> " contains the base information for the filesystem.\n"
> " The superblock in allocation group 0 is the primary. The copies in the\n"
> " remaining allocation groups only serve as backup for filesystem recovery.\n"
> " The icount/ifree/fdblocks/frextents are only updated in superblock 0.\n"
> The on-disk structure document describes the same thing:
or the xfs(5) manpage :)