
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