> > Blocks that have recently been written, but failed to make
> > it down to the disk platter intact, should be restorable from
> > the WAL log.  So we do not need a block-level CRC to guard
> > against partial writes.
> 
> If a block is missing some sectors in the middle, how would you know
> to reconstruct it from the WAL, without a block CRC telling you that
> the block is corrupt?

On recovery we unconditionally copy *entire* block content from the log
for each block modified since last checkpoint. And we do not write new
checkpoint record (ie do not advance recovery start point) untill we know
that all data blocks are flushed on disk (including blocks modified before
checkpointer started).

Vadim

Thu, 5 Apr 2001 19:36:54 -0700 
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM>
RE: Re: TODO list