
On Wed, Mar 31, 2010 at 03:44:17PM +0200, Daniel Veillard wrote:
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 ?
It is currently impossible to cope with this in general, but over time QEMU needs to provide events for any machine config changes so that apps can track them. The STOPPED state is a fairly important & easy one to deal with though. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|