From b5e08e8c7e89161becd2e18c2849f14a637015b0 Mon Sep 17 00:00:00 2001 From: Nikolay Shirokovskiy Date: Wed, 8 Jun 2016 10:17:20 +0300 Subject: [PATCH] vz: fix missed defined domain event libvirt domain defined event is issued only on correspondent vz sdk event. But in case event delivered before domain is added to domain list we can mistakenly skip this event if prlsdkNewDomainByHandle return NULL in case of domain is discovered in the list under the driver lock. Let's return domain object in this case. Now prlsdkNewDomainByHandle returns NULL only in case of error which is more convinient. Signed-off-by: Nikolay Shirokovskiy --- src/vz/vz_sdk.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index 787123094d..41895cddba 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -1421,12 +1421,8 @@ prlsdkNewDomainByHandle(vzDriverPtr driver, PRL_HANDLE sdkdom) goto cleanup; /* we should make sure that there is no such a VM exists */ - dom = virDomainObjListFindByUUID(driver->domains, uuid); - if (dom) { - virObjectUnlock(dom); - dom = NULL; + if ((dom = virDomainObjListFindByUUID(driver->domains, uuid))) goto cleanup; - } if (!(dom = vzNewDomain(driver, name, uuid))) goto cleanup; -- 2.47.2