[libvirt] [PATCH 2/5] qemu: Avoid dangling migration-in job on shutoff domains

Eric Blake eblake at redhat.com
Wed Mar 21 16:29:46 UTC 2012


On 03/21/2012 02:41 AM, Jiri Denemark wrote:
> On Tue, Mar 20, 2012 at 15:56:39 -0600, Eric Blake wrote:
>> On 03/19/2012 10:18 AM, Jiri Denemark wrote:
>>> Destination daemon should not rely on the client or source daemon
>>> (depending on the type of migration) to call Finish when migration
>>> fails, because the client may crash before it can do so. The domain
>>> prepared for incoming migration is set to be destroyed (and migration
>>> job cleaned up) when connection with the client closes but this is not
>>> enough. If the associated qemu process crashes after Prepare step and
>>> the domain is cleaned up before the connection gets closed, autodestroy
>>> is not called for the domain and migration jobs remains set. In case the
>>> domain is defined on destination host (i.e., it is not completely
>>> removed once destroyed) we keep the job set for ever. To fix this, we
>>> register a cleanup callback which is responsible to clean migration-in
>>> job when a domain dies anywhere between Prepare and Finish steps. Note
>>> that we can't blindly clean any job when spotting EOF on monitor since
>>> normally an API is running at that time.
>>> ---
>>>  src/qemu/qemu_domain.c    |    2 --
>>>  src/qemu/qemu_domain.h    |    2 ++
>>>  src/qemu/qemu_migration.c |   22 ++++++++++++++++++++++
>>>  3 files changed, 24 insertions(+), 2 deletions(-)
>>
>> I'm restating my understanding of the bug, to make sure I am sure why
>> your patch helps:

> 
>> ACK.
> Thanks.
> 
> Should I clarify the commit message a bit before pushing?

Dunno that it is needed.  If you think a better wording would help, then
go for it, but I was able to understand the patch and form my own
rephrasing using just your original wording, so I'm okay if you push as-is.

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120321/1e7b4ded/attachment-0001.sig>


More information about the libvir-list mailing list