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