Re: New filesystem for Linux

From: James Courtier-Dutton
Date: Sun Nov 05 2006 - 06:20:27 EST


Alan Cox wrote:
<snip>

Not seen that, although they do move stuff aorund in their internal
block management of bad blocks. I've also seen hardware errors that lead
to data being messed up silently.
>
> Alan
>

I have seen this too. I think that when IDE drive relocates the sector due to hard errors, one would silently loose the information that was stored in that sector.
How can one detect this? Of course it would be nice if the IDE drive told us that sector X had just gone bad but I don't think they do. They just silently relocate it because in some cases the sector has only gone a "bit" bad, so the IDE drive relocates it before it totally fails.

I suppose a work around is to provide a fs level error check. This could take the form of the fs adding a checksum to any file. To avoid recheck summing the entire file each time it changes, maybe break the file up into blocks and checksum those. This would slow things down due to CPU use for the checksum, but at least we could tell us as soon as a file became corrupted, as the verification could be done on reading the file.

Another possible solution could be using a few bytes from each sector to place a fs level checksum in. Then, if the IDE drive silently relocates the sector, the fs level checksum will fail. A saw a feature like this on some old filesystem, but I don't remember which. It placed a checksum, forwards chain link, and possibly backwards chain link. So, if the filesystem became really badly corrupted, one could pick any sector on the disk and recover the entire file associated with it.
I seem to remember that OS/2 used a 32bit forwards chain, but not the checksum.

James




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/