From: Peter Lieven <p...@kamp.de> 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> Message-Id: <1520507908-16743-6-git-send-email...@kamp.de> Reviewed-by: Juan Quintela <quint...@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- migration/block.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/migration/block.c b/migration/block.c index 03bbba61cb..4c04d937b1 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.14.3