Signed-off-by: Peter Lieven <p...@kamp.de>
Reviewed-by: Ronnie Sahlberg <ronniesahlb...@gmail.com>
---
 block.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/block.c b/block.c
index 26806e0..a26e6a5 100644
--- a/block.c
+++ b/block.c
@@ -4559,6 +4559,11 @@ static int multiwrite_merge(BlockDriverState *bs, 
BlockRequest *reqs,
             merge = 0;
         }
 
+        if (bs->bl.max_transfer_length && reqs[outidx].nb_sectors +
+            reqs[i].nb_sectors > bs->bl.max_transfer_length) {
+            merge = 0;
+        }
+
         if (merge) {
             size_t size;
             QEMUIOVector *qiov = g_malloc0(sizeof(*qiov));
-- 
1.7.9.5


Reply via email to