Subject: Re: Why my life is sucking. Part 2.
To: Greg Oster <email@example.com>
From: Manuel Bouyer <firstname.lastname@example.org>
Date: 01/19/2001 17:31:29
On Thu, Jan 18, 2001 at 03:00:30PM -0600, Greg Oster wrote:
> A few other things about "parity rewrite on demand".
> 1) if a block is to be read, then the associated stripe must have its parity
> updated before the block is returned. (If it is not, and the component that
> block lives on dies, then that block could be reconstructed incorrectly.)
> 2) if a block is to be written, then the associated stripe must have its
> parity updated before the block is written. (same reason as above)
> 3) there could *still* be other stripes where the parity is incorrect, and
> where a failed component would result in incorrect data being reconstructed.
3) is also true if you rebuild parity before doing any I/O, I believe.
If yo have to rebuild parity it's because it's dirty. Now, if a component fails
during parity rebuild, you'll still have part of the raid with dirty parity,
and data rebuild from parity may be wrong. I can't see how you can avoid this.
Manuel Bouyer, LIP6, Universite Paris VI. Manuel.Bouyer@lip6.fr