On 16.06.2015 19:43, Peter Krempa wrote:
> The test driver lock should not be acquired while a domain object lock
> is held. Tweak the lock ordering to avoid possible deadlock.
> ---
>  src/test/test_driver.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/test/test_driver.c b/src/test/test_driver.c
> index cfec122..9e617a2 100644
> --- a/src/test/test_driver.c
> +++ b/src/test/test_driver.c
> @@ -6603,13 +6603,13 @@ testDomainRevertToSnapshot(virDomainSnapshotPtr 
> snapshot,
>       * and use of FORCE can cause multiple transitions.
>       */
> 
> -    if (!(vm = testDomObjFromSnapshot(snapshot)))
> -        return -1;
> +    testDriverLock(privconn);
> 
> -    if (!(snap = testSnapObjFromSnapshot(vm, snapshot)))
> +    if (!(vm = testDomObjFromDomainLocked(privconn, snapshot->domain)))
>          goto cleanup;
> 
> -    testDriverLock(privconn);
> +    if (!(snap = testSnapObjFromSnapshot(vm, snapshot)))
> +        goto cleanup;
> 
>      if (!vm->persistent &&
>          snap->def->state != VIR_DOMAIN_RUNNING &&
> 

Fortunately, the public API already checked that @snapshot is not NULL
and snapshot->domain is of virDomainClass class.

ACK

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to