Hi all,

Could someone review my patch please?


> Libvirt forgets to remove inactive vm when failed to start a defined vm.

> That may result in residual domain in driver->domains on such condition:

> during the process of starting a vm, undefine it, and qemu exit because

> of some exception. As we undefined the vm successfully, the vm->persistent

> was set to 0, we will always fail to undefine it until restart libvirtd.

> Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>

> ---

>  src/qemu/qemu_driver.c | 2 ++

>  1 file changed, 2 insertions(+)

> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c

> index cdb727b..af8afab 100644

> --- a/src/qemu/qemu_driver.c

> +++ b/src/qemu/qemu_driver.c

> @@ -7185,6 +7185,8 @@ qemuDomainCreateWithFlags(virDomainPtr dom, unsigned int flags)

>  

>   endjob:

>      qemuProcessEndJob(driver, vm);

> +    if (ret < 0)

> +        qemuDomainRemoveInactive(driver, vm);

>  

>   cleanup:

>      virDomainObjEndAPI(&vm);

> -- 

> 1.8.3.1



---

Best wishes

Yi Wang