lkml.org 
[lkml]   [2006]   [Nov]   [5]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 05 Nov 2006 11:14:33 +0000
FromJames Courtier-Dutton <>
SubjectRe: New filesystem for Linux
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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-11-05 11:21    [from the cache]
©2003-2008