[libvirt] [PATCH] Add RESUME event listener to qemu monitor.

Eric Blake eblake at redhat.com
Tue Jan 15 22:13:22 UTC 2013


On 01/07/2013 02:25 PM, Andres Lagar-Cavilla wrote:
> Perform all the appropriate plumbing.
> 
> When qemu/KVM VMs are paused manually through a monitor not-owned by libvirt,
> libvirt will think of them as "paused" event after they are resumed and
> effectively running. With this patch the discrepancy goes away.
> 
> This is meant to address bug 892791.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres at lagarcavilla.org>
> ---
>  src/qemu/qemu_monitor.c      |   10 ++++++++
>  src/qemu/qemu_monitor.h      |    3 +++
>  src/qemu/qemu_monitor_json.c |    7 ++++++
>  src/qemu/qemu_process.c      |   56 ++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 76 insertions(+)

Thanks again for insisting on this patch; it turns out that it solved a
very real problem with 'virsh block-copy --wait --pivot ...', 'virsh
dump --live', and 'virsh create-snapshot-as --live --memspec ...', for
upper level applications (like VDSM) that were tracing domain state
solely through libvirt events rather than through querying libvirt for
its current idea of domain state.  See
https://bugzilla.redhat.com/show_bug.cgi?id=894085 for details, and my
analysis why this patch is necessary even when there is no external
monitor and no use of unsupported qemu-monitor-command.

It does make me wonder if we ought to audit all callers of
qemuDomainStartCPUs/qemuDomainStopCPUs to be more robust if qemu were
ever to change to emit events _after_ responding to 'stop' and 'cont'
monitor commands, instead of the current (lucky) results that the event
always appears on the monitor before the return value of the command.

-- 
Eric Blake   eblake 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: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130115/4b1da99f/attachment-0001.sig>


More information about the libvir-list mailing list