提交 dc58e742 编写于 作者: M Maxim Nestratov 提交者: Dmitry Guryanov

parallels: move up updating parameter in prlsdkLoadDomain

It is better to get all necessary parameters and check them on newly
created configuration before actually creating a domain with them or
applying them to an existing domain.
Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
上级 739ea3ce
...@@ -1312,6 +1312,12 @@ prlsdkLoadDomain(parallelsConnPtr privconn, ...@@ -1312,6 +1312,12 @@ prlsdkLoadDomain(parallelsConnPtr privconn,
*s = '\0'; *s = '\0';
} }
pret = PrlVmCfg_GetAutoStart(sdkdom, &autostart);
prlsdkCheckRetGoto(pret, error);
if (prlsdkGetDomainState(sdkdom, &domainState) < 0)
goto error;
if (virDomainDefAddImplicitControllers(def) < 0) if (virDomainDefAddImplicitControllers(def) < 0)
goto error; goto error;
...@@ -1349,15 +1355,6 @@ prlsdkLoadDomain(parallelsConnPtr privconn, ...@@ -1349,15 +1355,6 @@ prlsdkLoadDomain(parallelsConnPtr privconn,
dom->privateDataFreeFunc = prlsdkDomObjFreePrivate; dom->privateDataFreeFunc = prlsdkDomObjFreePrivate;
dom->persistent = 1; dom->persistent = 1;
if (prlsdkGetDomainState(sdkdom, &domainState) < 0)
goto error;
if (prlsdkConvertDomainState(domainState, envId, dom) < 0)
goto error;
pret = PrlVmCfg_GetAutoStart(sdkdom, &autostart);
prlsdkCheckRetGoto(pret, error);
switch (autostart) { switch (autostart) {
case PAO_VM_START_ON_LOAD: case PAO_VM_START_ON_LOAD:
dom->autostart = 1; dom->autostart = 1;
...@@ -1371,6 +1368,9 @@ prlsdkLoadDomain(parallelsConnPtr privconn, ...@@ -1371,6 +1368,9 @@ prlsdkLoadDomain(parallelsConnPtr privconn,
goto error; goto error;
} }
if (prlsdkConvertDomainState(domainState, envId, dom) < 0)
goto error;
if (!pdom->sdkdom) { if (!pdom->sdkdom) {
pret = PrlHandle_AddRef(sdkdom); pret = PrlHandle_AddRef(sdkdom);
prlsdkCheckRetGoto(pret, error); prlsdkCheckRetGoto(pret, error);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册