mirror of https://gitee.com/openkylin/libvirt.git
parallels: split prlsdkDomainChangeState function
Split function prlsdkDomainChangeState into prlsdkDomainChangeStateLocked and prlsdkDomainChangeState. So it can be used from places, where virDomainObj already found and locked. Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com>
This commit is contained in:
parent
18558ae80f
commit
233b799ddb
|
@ -1721,22 +1721,14 @@ PRL_RESULT prlsdkResume(parallelsConnPtr privconn, PRL_HANDLE sdkdom)
|
|||
}
|
||||
|
||||
int
|
||||
prlsdkDomainChangeState(virDomainPtr domain,
|
||||
prlsdkChangeStateFunc chstate)
|
||||
prlsdkDomainChangeStateLocked(parallelsConnPtr privconn,
|
||||
virDomainObjPtr dom,
|
||||
prlsdkChangeStateFunc chstate)
|
||||
{
|
||||
parallelsConnPtr privconn = domain->conn->privateData;
|
||||
virDomainObjPtr dom;
|
||||
parallelsDomObjPtr pdom;
|
||||
PRL_RESULT pret;
|
||||
int ret = -1;
|
||||
virErrorNumber virerr;
|
||||
|
||||
dom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
|
||||
if (dom == NULL) {
|
||||
parallelsDomNotFoundError(domain);
|
||||
return -1;
|
||||
}
|
||||
|
||||
pdom = dom->privateData;
|
||||
pret = chstate(privconn, pdom->sdkdom);
|
||||
if (PRL_FAILED(pret)) {
|
||||
|
@ -1752,12 +1744,27 @@ prlsdkDomainChangeState(virDomainPtr domain,
|
|||
}
|
||||
|
||||
virReportError(virerr, "%s", _("Can't change domain state."));
|
||||
goto cleanup;
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = prlsdkUpdateDomain(privconn, dom);
|
||||
return prlsdkUpdateDomain(privconn, dom);
|
||||
}
|
||||
|
||||
cleanup:
|
||||
int
|
||||
prlsdkDomainChangeState(virDomainPtr domain,
|
||||
prlsdkChangeStateFunc chstate)
|
||||
{
|
||||
parallelsConnPtr privconn = domain->conn->privateData;
|
||||
virDomainObjPtr dom;
|
||||
int ret = -1;
|
||||
|
||||
dom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
|
||||
if (dom == NULL) {
|
||||
parallelsDomNotFoundError(domain);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = prlsdkDomainChangeStateLocked(privconn, dom, chstate);
|
||||
virObjectUnlock(dom);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -46,6 +46,10 @@ int
|
|||
prlsdkDomainChangeState(virDomainPtr domain,
|
||||
prlsdkChangeStateFunc chstate);
|
||||
int
|
||||
prlsdkDomainChangeStateLocked(parallelsConnPtr privconn,
|
||||
virDomainObjPtr dom,
|
||||
prlsdkChangeStateFunc chstate);
|
||||
int
|
||||
prlsdkApplyConfig(virConnectPtr conn,
|
||||
virDomainObjPtr dom,
|
||||
virDomainDefPtr new);
|
||||
|
|
Loading…
Reference in New Issue