[libvirt] [PATCH 8/8] test: Fix lock ordering in testDomainRevertToSnapshot

Peter Krempa pkrempa at redhat.com
Tue Jun 16 17:43:20 UTC 2015


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




More information about the libvir-list mailing list