vz: use single variable for domain

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
This commit is contained in:
Nikolay Shirokovskiy 2016-06-14 11:45:59 +03:00 committed by Maxim Nestratov
parent ab64ebd1b5
commit 9250492e56

View File

@ -720,8 +720,7 @@ vzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
vzConnPtr privconn = conn->privateData; vzConnPtr privconn = conn->privateData;
virDomainPtr retdom = NULL; virDomainPtr retdom = NULL;
virDomainDefPtr def; virDomainDefPtr def;
virDomainObjPtr olddom = NULL; virDomainObjPtr dom = NULL;
virDomainObjPtr newdom = NULL;
unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE; unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
vzDriverPtr driver = privconn->driver; vzDriverPtr driver = privconn->driver;
@ -734,8 +733,8 @@ vzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
parse_flags)) == NULL) parse_flags)) == NULL)
goto cleanup; goto cleanup;
olddom = virDomainObjListFindByUUID(driver->domains, def->uuid); dom = virDomainObjListFindByUUID(driver->domains, def->uuid);
if (olddom == NULL) { if (dom == NULL) {
virResetLastError(); virResetLastError();
if (def->os.type == VIR_DOMAIN_OSTYPE_HVM) { if (def->os.type == VIR_DOMAIN_OSTYPE_HVM) {
if (prlsdkCreateVm(driver, def)) if (prlsdkCreateVm(driver, def))
@ -750,12 +749,12 @@ vzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
goto cleanup; goto cleanup;
} }
if (!(newdom = prlsdkAddDomainByUUID(driver, def->uuid))) if (!(dom = prlsdkAddDomainByUUID(driver, def->uuid)))
goto cleanup; goto cleanup;
} else { } else {
int state, reason; int state, reason;
state = virDomainObjGetState(olddom, &reason); state = virDomainObjGetState(dom, &reason);
if (state == VIR_DOMAIN_SHUTOFF && if (state == VIR_DOMAIN_SHUTOFF &&
reason == VIR_DOMAIN_SHUTOFF_SAVED) { reason == VIR_DOMAIN_SHUTOFF_SAVED) {
@ -769,17 +768,17 @@ vzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
* So forbid this operation, if config is changed. If it's * So forbid this operation, if config is changed. If it's
* not changed - just do nothing. */ * not changed - just do nothing. */
if (!virDomainDefCheckABIStability(olddom->def, def)) { if (!virDomainDefCheckABIStability(dom->def, def)) {
virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
_("Can't change domain configuration " _("Can't change domain configuration "
"in managed save state")); "in managed save state"));
goto cleanup; goto cleanup;
} }
} else { } else {
if (prlsdkApplyConfig(driver, olddom, def)) if (prlsdkApplyConfig(driver, dom, def))
goto cleanup; goto cleanup;
if (prlsdkUpdateDomain(driver, olddom)) if (prlsdkUpdateDomain(driver, dom))
goto cleanup; goto cleanup;
} }
} }
@ -789,10 +788,8 @@ vzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
retdom->id = def->id; retdom->id = def->id;
cleanup: cleanup:
if (olddom) if (dom)
virObjectUnlock(olddom); virObjectUnlock(dom);
if (newdom)
virObjectUnlock(newdom);
virDomainDefFree(def); virDomainDefFree(def);
return retdom; return retdom;
} }