Peter reported a mild regression in qemu 2.7 when targetting the Dell Equallogic iSCSI, which advertizes a preferred and maximum unmap alignment at 15M. In qemu 2.6, trims not aligned to those boundaries still made it to the device, but in 2.7, the block layer is ignoring unaligned portions of guest requests, resulting in fewer blocks being actually trimmed.
Since discard is advisary, it is borderline if this counts as a bug fix worthy for inclusion in 2.8, or if it should be deferred to 2.9. At any rate, while I was able to test that the patch didn't misbehave for me when I tweaked an NBD setup to force 15M alignment, I am unable to test that it makes an actual difference for Peter's hardware, and that needs to happen before anyone even thinks of applying this. Eric Blake (2): block: Return -ENOTSUP rather than assert on unaligned discards block: Pass unaligned discard requests to drivers block/io.c | 36 +++++++++++++++++++++++------------- block/iscsi.c | 4 +++- block/qcow2.c | 4 ++++ block/sheepdog.c | 5 +++-- 4 files changed, 33 insertions(+), 16 deletions(-) -- 2.7.4