On Thu, Feb 18, 2010 at 03:56:15PM +0000, Daniel P. Berrange wrote: > When a VM save attempt failed, the VM would be left in a paused > state. It is neccessary to resume CPU execution upon failure > if it was running originally > > * src/qemu/qemu_driver.c: Resume CPUs upon save failure > --- > src/qemu/qemu_driver.c | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c > index 5e787ce..0a39745 100644 > --- a/src/qemu/qemu_driver.c > +++ b/src/qemu/qemu_driver.c > @@ -4221,6 +4221,16 @@ static int qemudDomainSave(virDomainPtr dom, > } > > endjob: > + if (ret != 0 && header.was_running) { > + qemuDomainObjEnterMonitorWithDriver(driver, vm); > + rc = qemuMonitorStartCPUs(priv->mon, dom->conn); > + qemuDomainObjExitMonitorWithDriver(driver, vm); > + if (rc < 0) > + VIR_WARN0("Unable to resume guest CPUs after save failure"); > + else > + vm->state = VIR_DOMAIN_RUNNING; > + } > + > if (vm && > qemuDomainObjEndJob(vm) == 0) > vm = NULL; ACK, 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