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@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list