On Thu, 1 Apr 1999, Dave Hitz wrote:
Even we if we did do XOR calculations for every read, that wouldn't give us enough information to fix the problem. All we would know is that a given stripe was inconsistent.
Yeah, that makes sense now that I think about it. :)
The parity information is only sufficient to fix the data if you also know which block to fix. (You could design RAID around a full ECC code, but that would create quite a bit more overhead.)
BTW, is the parity calculation handled by the main filer CPU, or is it offloaded to a dedicated piece of silicon on the disk controller?