Commit 9adc1cb49af8d fixed a bug about unaligned (to dirty bitmap granularity) guest writes (and discards) by simply requesting corresponding alignment on mirror-top filter. However forcing large alignment obviously decreases performance of unaligned requests.
So it's time for a new solution which is in 03. And 04 reverts 9adc1cb49af8d. Vladimir Sementsov-Ogievskiy (4): block/mirror: simplify do_sync_target_write block/block-backend: add blk_co_pwritev_part block/mirror: support unaligned write in active mirror Revert "mirror: Only mirror granularity-aligned chunks" include/sysemu/block-backend.h | 4 + block/block-backend.c | 17 +++- block/mirror.c | 153 +++++++++++++-------------------- 3 files changed, 78 insertions(+), 96 deletions(-) -- 2.21.0