[libvirt] [PATCH 9/9] Fix QEMU domain state after a save attempt fails

Daniel Veillard veillard at redhat.com
Fri Feb 26 18:05:00 UTC 2010


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 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