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