]> xenbits.xensource.com Git - libvirt.git/commit
qemu_migration: Check for active domain after talking to remote daemon
authorJiri Denemark <jdenemar@redhat.com>
Thu, 28 Jun 2018 09:38:52 +0000 (11:38 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 2 Jul 2018 09:53:21 +0000 (11:53 +0200)
commit5f998219111327dc4f66586ce8953a6d7ecfb619
tree122882abcaac11c30a4240164b08e7c582640fd2
parente05ed21623d39df9b21605c895e39f51b3828ed7
qemu_migration: Check for active domain after talking to remote daemon

Once we called qemuDomainObjEnterRemote to talk to the destination
daemon during a peer to peer migration, the vm lock is released and we
only hold an async job. If the source domain dies at this point the
monitor EOF callback is allowed to do its job and (among other things)
clear all private data irrelevant for stopped domain. Thus when we call
qemuDomainObjExitRemote, the domain may already be gone and we should
avoid touching runtime private data (such as current job info).

In other words after acquiring the lock in qemuDomainObjExitRemote, we
need to check the domain is still alive. Unless we're doing offline
migration.

https://bugzilla.redhat.com/show_bug.cgi?id=1589730

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h
src/qemu/qemu_migration.c