--On Friday, August 22, 2003 8:37 PM -0600 Jim McAtee
> I don't quite understand the need to read data before any write. Why
> wouldn't it just calculate the parity of whatever is being written and
> just write it to disk? Wouldn't there be slack space, as with any disk
> system? Write a 1 byte file and it uses an N byte block on one disk,
> plus an N byte parity block on another.
This wholly depends on the RAID subsystem, but better than 80% will need to
either read the entire stripe, or hold off until they're writing the whole
stripe at once. Remember the RAID is below the filesystem layer, and
*separate* from it, esp. in the case of a hardware controller. Really big
systems may (do) keep 'maps' of the space so they can cheat by not reading
a strip when it knows it hasn't been written since (destructive)
initialization and is thus all 0's.