VFAT i_pos value
OGAWA Hirofumi
hirofumi at mail.parknet.co.jp
Thu Dec 1 09:38:24 EST 2011
Kai Meyer <kai at gnukai.com> writes:
> I'm getting this error:
> FAT: Filesystem error (dev sblsnap0)
> fat_get_cluster: invalid cluster chain (i_pos 523791)
>
> I'm wondering if there was a way to figure out what sector is causing
> the error? I would like to try and track down what is changing that
> sector and fix the problem. Is there a straight forward way to convert
> i_pos to a sector value? I've been staring at the fat.c and fat.h code
> all morning, and I'm having trouble grok'ing the flow.
The i_pos means directory entry (contains inode information in unix-fs)
position,
block number == i_pos / (logical-blocksize / 32)
offset == i_pos & (logical-blocksize / 32)
the above position's directory entry contains information for
problematic file. This is how to use i_pos information.
FWIW, in this error case, the cluster chain in FAT table which is
pointed by that entry, it has invalid cluster value.
Thanks.
--
OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>
More information about the Kernelnewbies
mailing list