[libvirt] [PATCH] Keep track of guest paused state after disk IO / watchdog events
Daniel Veillard
veillard at redhat.com
Wed Mar 31 13:44:17 UTC 2010
On Wed, Mar 31, 2010 at 01:14:13PM +0100, Daniel P. Berrange wrote:
> When a watchdog/IO error occurs, one of the possible actions that
> QEMU might take is to pause the guest. In this scenario libvirt
> needs to update its internal state for the VM, and emit a
> lifecycle event:
>
> VIR_DOMAIN_EVENT_SUSPENDED
>
> with a detail being one of:
>
> VIR_DOMAIN_EVENT_SUSPENDED_IOERROR
> VIR_DOMAIN_EVENT_SUSPENDED_WATCHDOG
>
> To future proof against possible QEMU support for multiple monitor
> consoles, this patch also hooks into the 'STOPPED' event in QEMU
> and emits a generic VIR_DOMAIN_EVENT_SUSPENDED_PAUSED event
you mean if a command was emitted on one console stopping the guest
so that the event is captured on other consoles. I wonder what's the
limits here, it sounds impossible to garantee a coherent view in general
in case of access on an extra console outside of libvirtd control.
So you plan on doing some kind of best-effort to cover this new use case ?
> * include/libvirt/libvirt.h.in: Add VIR_DOMAIN_EVENT_SUSPENDED_IOERROR
> * src/qemu/qemu_driver.c: Update VM state to paused when IO error
> or watchdog events occurrs
> * src/qemu/qemu_monitor_json.c: Fix typo in disk IO event name
[...]
ACK,
but I wonder how far we can go in that event reinjection process
without risks,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list