Re: [PATCH] 64 bit scsi read/write

Albert D. Cahalan
2001-07-16T01:08:58Z

Daniel Phillips writes:
> On Sunday 15 July 2001 05:36, Chris Wedgwood wrote:
>> On Sat, Jul 14, 2001 at 10:11:30PM +0200, Daniel Phillips wrote:

>>> Atomic commit. The superblock, which references the updated
>>> version of the filesystem, carries a sequence number and a
>>> checksum. It is written to one of two alternating locations. On
>>> restart, both locations are read and the highest numbered
>>> superblock with a correct checksum is chosen as the new
>>> filesystem root.
>>
>> Yes... and which ever part of the superblock contains the sequence
>> number must be written atomically.
>
> The only requirement here is that the checksum be correct. And sure,
> that's not a hard guarantee because, on average, you will get a good
> checksum for bad data once every 4 billion power events that mess up
> the final superblock transfer. Let me see, if that happens once a year,

In a tree-structured filesystem, checksums on everything would only
cost you space similar to the number of pointers you have. Whenever
a non-leaf node points to a child, it can hold a checksum for that
child as well.

This gives a very reliable way to spot filesystem errors, including
corrupt data blocks.