Re: failed to read root inode

Eric Sandeen
2010-05-08T15:04:46Z

Christian Affolter wrote:
> Hi
>
> After a disk crash within a hardware RAID-6 controller and kernel
> freeze, I'm unable to mount an XFS filesystem on top of an EVMS volume:

Are you sure the volume is reassembled correctly? It seems like the
fs has a ton of damage ...

One trick I often recommend is to make a metadata image of the fs
with xfs_metadump / xfs_mdrestore and run repair on that to see
what repair -would- do, but I guess you've already run it on the
real fs.

So if repair isn't making a mountable fs, first suggestion would
be to re-try with the latest version of repair.

> Filesystem "dm-13": Disabling barriers, not supported by the underlying
> device

Honestly, that could be part of the problem too, if a bunch of
disks with write caches all lost them, in the array.

> XFS mounting filesystem dm-13
> Starting XFS recovery on filesystem: dm-13 (logdev: internal)
> XFS internal error XFS_WANT_CORRUPTED_GOTO at line 1599 of file
> fs/xfs/xfs_alloc.c. Caller 0xffffffff8035c58d
> Pid: 13473, comm: mount Not tainted 2.6.26-gentoo #1
...

> XFS: log mount finish failed

So recovery is failing, you could try mount -o ro,norecovery at this
point to see what's still left on the fs... but:

> I tried to repair the filesystem with the help of xfs_repair many times,
> without any luck:
> Filesystem "dm-13": Disabling barriers, not supported by the underlying
> device
> XFS mounting filesystem dm-13
> XFS: failed to read root inode

...

> xfs_check output:
> cache_node_purge: refcount was 1, not zero (node=0x820010)
> xfs_check: cannot read root inode (117)

That's a bit of an odd root inode number, I think, which
makes me think maybe there are still serious problems.

> Are there any other ways to fix the unreadable root inode or to restore
> the remaining data?
>
>
> Environment informations:
> Linux Kernel: 2.6.26-gentoo (x86_64)
> xfsprogs: 3.0.3

Those are both pretty old at this point, I can't say there is anything
specific in newer xfsprogs, but I'd probably give that a shot first.

-Eric