[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH RESENT 12/12] libxl: fix deadlock in libxlReconnectDomain



Marek Marczykowski wrote:
> Use virDomainObjListRemoveLocked instead of virDomainObjListRemove, as
> driver->domains is already taken by virDomainObjListForEach.
>
> Above deadlock can be triggered when libvirtd is started after some
> domain have been started by hand (in which case driver will not find
> libvirt-xml domain config).
>   

Looks good, but let's see what others have to say about the
virDomainObjListRemoveLocked() addition.

Regards,
Jim

> ---
>  src/libxl/libxl_driver.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
> index b0f0c6a..687190c 100644
> --- a/src/libxl/libxl_driver.c
> +++ b/src/libxl/libxl_driver.c
> @@ -1060,7 +1060,7 @@ libxlReconnectDomain(virDomainObjPtr vm,
>  out:
>      libxlVmCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_UNKNOWN);
>      if (!vm->persistent)
> -        virDomainObjListRemove(driver->domains, vm);
> +        virDomainObjListRemoveLocked(driver->domains, vm);
>      else
>          virObjectUnlock(vm);
>  
>   


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]