On 08/01/2012 03:40 PM, Mike Snitzer wrote: > On Thu, Jul 05 2012 at 12:01pm -0400, > Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > >> When a disk has a large discard_granularity, discards are not split with >> optimal alignment; the pessimization gets bigger as discard_granularity >> and max_discard_sectors become closer. >> >> Take the limit case of discard_granularity == max_discard_sectors == 64. >> Then, if a request is submitted for 256 sectors 2..257 it will be split >> like this: 2..65, 66..129, 130..193, 194..257. None of these requests >> is aligned, so in fact you might end up with no discarded logical blocks >> at all. With this patch, the split will be 2..63, 64..127, 128..191, >> 192..255, 256..257. The patches also take the discard_alignment into >> consideration. >> >> Patch 1 adjusts the computation of the granularity-adjusted >> max_discard_sectors so that it prepares for the new code in patch 2, >> which actually adjusts the split. >> >> v2->v3: drop addition of queue/discard_alignment to sysfs, use >> correct alignment for partitions >> >> Paolo Bonzini (2): >> block: reorganize rounding of max_discard_sectors >> block: split discard into aligned requests >> >> block/blk-lib.c | 41 ++++++++++++++++++++++++++++------------- >> include/linux/blkdev.h | 10 ++++++++++ >> 2 files changed, 38 insertions(+), 13 deletions(-) > > Hey Jens, > > Would be great to get these discard fixes in. I know both Christoph and > Vivek have reviewed these changes but that isn't reflected in the patch > headers. > > These patches eliminate misaligned discard from being sent to the > dm-thinp target. > > Tested-by: Mike Snitzer <snitzer@xxxxxxxxxx> Sure, I'll get it in for this series. Thanks. -- Jens Axboe -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel