From: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> This patch disables bdrv flush/drain in record/replay mode. When block request is in the replay queue it cannot be processed with drain/flush until it is found in the log. Therefore vm should just stop leaving unfinished operations in the queue.
Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> --- cpus.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cpus.c b/cpus.c index 2cb0af9..7b6ce74 100644 --- a/cpus.c +++ b/cpus.c @@ -1004,9 +1004,10 @@ static int do_vm_stop(RunState state) qapi_event_send_stop(&error_abort); } - bdrv_drain_all(); - replay_disable_events(); - ret = bdrv_flush_all(); + if (!replay_events_enabled()) { + bdrv_drain_all(); + ret = bdrv_flush_all(); + } return ret; }