On Sep 23, 2014, at 11:21 PM, NeilBrown wrote: > > For RAID5 it is not acceptable to return "zeros or the original content". > This is because of the possibility of RMW cycles to update the parity block. > As "discard" the doesn't treat all blocks in a stripe in an identical way > will cause the parity block to become incorrect, and it will stay incorrect > through multiple RMW cycles until an RCW corrects it. > A device failure while the parity block is incorrect will lead to data > corruption. > > The only real solution I can think of is to maintain an 'allocated' bitmap > and clear bits when DISCARDing. When a write happens to a location that is > not 'allocated' the whole bit worth gets resynced (or maybe zeroed-out). > > Grumble. I see, sure. Are there problems with this 'allocated' bitmap idea when bitrot is considered? Scrubbing (check/repair) assumes that the bitmap cannot be trusted and does a complete scan of the array - dealing with mismatches. If bitrot happens in the 'allocated' bitmap... brassow -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel