mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
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
|
int
|
||||||
prlsdkDomainChangeState(virDomainPtr domain,
|
prlsdkDomainChangeStateLocked(parallelsConnPtr privconn,
|
||||||
|
virDomainObjPtr dom,
|
||||||
prlsdkChangeStateFunc chstate)
|
prlsdkChangeStateFunc chstate)
|
||||||
{
|
{
|
||||||
parallelsConnPtr privconn = domain->conn->privateData;
|
|
||||||
virDomainObjPtr dom;
|
|
||||||
parallelsDomObjPtr pdom;
|
parallelsDomObjPtr pdom;
|
||||||
PRL_RESULT pret;
|
PRL_RESULT pret;
|
||||||
int ret = -1;
|
|
||||||
virErrorNumber virerr;
|
virErrorNumber virerr;
|
||||||
|
|
||||||
dom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
|
|
||||||
if (dom == NULL) {
|
|
||||||
parallelsDomNotFoundError(domain);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
pdom = dom->privateData;
|
pdom = dom->privateData;
|
||||||
pret = chstate(privconn, pdom->sdkdom);
|
pret = chstate(privconn, pdom->sdkdom);
|
||||||
if (PRL_FAILED(pret)) {
|
if (PRL_FAILED(pret)) {
|
||||||
@ -1752,12 +1744,27 @@ prlsdkDomainChangeState(virDomainPtr domain,
|
|||||||
}
|
}
|
||||||
|
|
||||||
virReportError(virerr, "%s", _("Can't change domain state."));
|
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);
|
virObjectUnlock(dom);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,10 @@ int
|
|||||||
prlsdkDomainChangeState(virDomainPtr domain,
|
prlsdkDomainChangeState(virDomainPtr domain,
|
||||||
prlsdkChangeStateFunc chstate);
|
prlsdkChangeStateFunc chstate);
|
||||||
int
|
int
|
||||||
|
prlsdkDomainChangeStateLocked(parallelsConnPtr privconn,
|
||||||
|
virDomainObjPtr dom,
|
||||||
|
prlsdkChangeStateFunc chstate);
|
||||||
|
int
|
||||||
prlsdkApplyConfig(virConnectPtr conn,
|
prlsdkApplyConfig(virConnectPtr conn,
|
||||||
virDomainObjPtr dom,
|
virDomainObjPtr dom,
|
||||||
virDomainDefPtr new);
|
virDomainDefPtr new);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user