On Tue, 17 Apr 2012 07:46:03 -0700 Dan Williams wrote: > On Tue, Apr 17, 2012 at 1:35 AM, Shaohua Li wrote: > > Discard for raid4/5/6 has limitation. If discard request size is small, we do > > discard for one disk, but we need calculate parity and write parity disk.  To > > correctly calculate parity, zero_after_discard must be guaranteed. > > I'm wondering if we could use the new bad blocks facility to mark > discarded ranges so we don't necessarily need determinate data after > discard. > > ...but I have not looked into it beyond that. > > -- > Dan No. The bad blocks framework can only store a limited number of bad ranges - 512 in the current implementation. That would not be an acceptable restriction for discarded ranges. You would need a bitmap of some sort if you wanted to record discarded regions. http://neil.brown.name/blog/20110216044002#5 NeilBrown