mirror of https://github.com/xqemu/xqemu.git
migration: hold AioContext lock for loadvm qemu_fclose()
migration_incoming_state_destroy() uses qemu_fclose() on the vmstate file. Make sure to call it inside an AioContext acquire/release region. This fixes an 'qemu: qemu_mutex_unlock: Operation not permitted' abort in loadvm. This patch closes the vmstate file before ending the drained region. Previously we closed the vmstate file after ending the drained region. The order does not matter. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
0d2fac8ede
commit
1575829d2a
|
@ -2300,11 +2300,11 @@ int load_snapshot(const char *name, Error **errp)
|
|||
|
||||
aio_context_acquire(aio_context);
|
||||
ret = qemu_loadvm_state(f);
|
||||
migration_incoming_state_destroy();
|
||||
aio_context_release(aio_context);
|
||||
|
||||
bdrv_drain_all_end();
|
||||
|
||||
migration_incoming_state_destroy();
|
||||
if (ret < 0) {
|
||||
error_setg(errp, "Error %d while loading VM state", ret);
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue