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
|