On 09/09/17 20:19, Marc MERLIN wrote:
I know what you're trying to say, but not quite what I meant. You can have hash checksums over a certain amount of data, per drive. Those checksums would cover maybe 4KB blocks (or even 1MB) and take a mere 2 or 4 bytes. If your raid parity does not match, you can then verify the per drive checksum and figure out which drive is "wrong". From there, when you repair, you know which drive's data to throw away and recompute.
Ah - I understand. This could well be a useful extra bit of information. As far as the maths is concerned then the checksum would then be an extra "equation" and, provided it's not equivalent to the data then it would enable an extra unknown to be solved. Interesting thought ...
The problem is, as I understand it (note Phil's mention of flamewars :-) that there are a whole bunch of things that can corrupt stripes. Not least if a drive accidentally writes a block in the wrong place ... at which point all of your drive level checks will work fine, but any attempt to read the affected stripes will read corrupted data :-(
Cheers, Wol -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html