mirror of https://github.com/xqemu/xqemu.git
call bdrv_drain_all() even if the vm is stopped
There are still I/O operations when the vm is stopped. For example, stop the vm, and do block migration. In this case, we don't drain all I/O operation, and may meet the following problem: qemu-system-x86_64: migration/block.c:731: block_save_complete: Assertion `block_mig_state.submitted == 0' failed. Signed-off-by: Wen Congyang <wency@cn.fujitsu.com> Message-Id: <564EE92E.4070701@cn.fujitsu.com> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
2b1641d0a2
commit
b2780d3253
2
cpus.c
2
cpus.c
|
@ -1415,6 +1415,8 @@ int vm_stop_force_state(RunState state)
|
||||||
return vm_stop(state);
|
return vm_stop(state);
|
||||||
} else {
|
} else {
|
||||||
runstate_set(state);
|
runstate_set(state);
|
||||||
|
|
||||||
|
bdrv_drain_all();
|
||||||
/* Make sure to return an error if the flush in a previous vm_stop()
|
/* Make sure to return an error if the flush in a previous vm_stop()
|
||||||
* failed. */
|
* failed. */
|
||||||
return bdrv_flush_all();
|
return bdrv_flush_all();
|
||||||
|
|
Loading…
Reference in New Issue