xfs
[Top] [All Lists]

Re: "No such file or directory" (still) (was Re: file corruption during

To: "Ralf G. R. Bergs" <rabe@xxxxxxxxxxxxxx>
Subject: Re: "No such file or directory" (still) (was Re: file corruption during emacs build on XFS logical volume
From: Steve Lord <lord@xxxxxxx>
Date: 08 Jan 2002 09:19:50 -0600
Cc: Linux XFS <linux-xfs@xxxxxxxxxxx>
In-reply-to: <E16NxrX-0003qA-00@ADSL-Bergs.RZ.RWTH-Aachen.DE>
References: <E16NxrX-0003qA-00@ADSL-Bergs.RZ.RWTH-Aachen.DE>
Sender: owner-linux-xfs@xxxxxxxxxxx
On Tue, 2002-01-08 at 09:08, Ralf G. R. Bergs wrote:
> On Tue, 08 Jan 2002 08:57:40 -0600, Steve Lord wrote:
> 
> >OK, so now go into xfs_db again, go back to the same inode and
> >use the bmap command this will print the locations where there
> >are blocks in the directory, it should look a little like this:
> 
> Ok, here you are:
> 
........
> 
> Ok, what do you want me to do now?
> 
> Thanks,
> 
> Ralf
> 

I think I am starting to get the picture here. The blocks we are looking
at here are hash values used to lookup the individual blocks containing
the name/inode pairs. A directory search generates a hash from the name
and then walks down to the leaf block of the btree which contains it,
from here we get an address - which I think is in 8 byte chunks into the
start of the directory.

This output:

dir 1426370585 block 8388614 extra leaf entry 62b7eea7 2a89
dir ino 1426370585 missing leaf entry for 62bdaea7/2a89

Reports that there is a leaf entry 62b7eea7 which has no inode
in the directory, and there is an inode with no hash value. They
are both at offset 0x2a89. If we multiply this by 8 we get 87112
decimal which should be in block 21 of the directory. If you go
back to the inode and do

        dblock 21
        p

what do you get, and is your missing name in the output here?

Steve



-- 

Steve Lord                                      voice: +1-651-683-3511
Principal Engineer, Filesystem Software         email: lord@xxxxxxx


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