Re: New filesystem for Linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/5/06, James Courtier-Dutton <[email protected]> wrote:

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.

I didn't just mean hidden relocation of bad blocks.

I really meant that sectors can trade places. This is probably
what happens when the bad-block remapping is itself corrupt.

Inodes 16,17,18,19 trade places with inodes 40,41,42,43.
An indirect block for your database trades places with an
indirect block for an outgoing email. A chunk of /etc/shadow
trades places with a chunk of a user's ~/.bash_logout file.

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.

Yes indeed. This is what ZFS does. You can choose between
regular and crypto checksums. You can cause the filesystem
to replicate blocks over multiple devices. Unlike RAID, this lets
you recover from silent corruption.

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.

Both OS/400 and AmigaOS had this feature. AmigaOS used regular
512-byte sectors, making the data portion oddly sized. OS/400 made
the sectors bigger, by another 8 or 16 bytes if I remember right.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux