Re: [libvirt] [PATCH 9/9] Fix QEMU domain state after a save attempt fails
On Thu, Feb 18, 2010 at 03:56:15PM +, 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/ dan...@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH 9/9] Fix QEMU domain state after a save attempt fails
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; -- 1.6.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH 9/9] Fix QEMU domain state after a save attempt fails
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 09412f9..f298eac 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -4099,6 +4099,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; -- 1.6.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list