only read_done blocks are in the queued to be flushed to the migration stream. submitted blocks are still in flight.
Signed-off-by: Peter Lieven <p...@kamp.de> --- migration/block.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/migration/block.c b/migration/block.c index ce939e2..4e950c2 100644 --- a/migration/block.c +++ b/migration/block.c @@ -773,8 +773,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque) /* control the rate of transfer */ blk_mig_lock(); - while ((block_mig_state.submitted + - block_mig_state.read_done) * BLOCK_SIZE < + while (block_mig_state.read_done * BLOCK_SIZE < qemu_file_get_rate_limit(f) && block_mig_state.submitted < MAX_PARALLEL_IO && (block_mig_state.submitted + block_mig_state.read_done) < -- 2.7.4