
On 05/18/2015 05:44 PM, Maxim Nestratov wrote:
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.
What problem could it cause?
Signed-off-by: Maxim Nestratov <mnestratov@parallels.com> --- src/parallels/parallels_sdk.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c index faae1ae..5c15e94 100644 --- a/src/parallels/parallels_sdk.c +++ b/src/parallels/parallels_sdk.c @@ -1312,6 +1312,9 @@ prlsdkLoadDomain(parallelsConnPtr privconn, *s = '\0'; }
+ pret = PrlVmCfg_GetAutoStart(sdkdom, &autostart); + prlsdkCheckRetGoto(pret, error); + if (virDomainDefAddImplicitControllers(def) < 0) goto error;
@@ -1349,15 +1352,6 @@ prlsdkLoadDomain(parallelsConnPtr privconn, dom->privateDataFreeFunc = prlsdkDomObjFreePrivate; 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) { case PAO_VM_START_ON_LOAD: dom->autostart = 1; @@ -1371,6 +1365,12 @@ prlsdkLoadDomain(parallelsConnPtr privconn, goto error; }
+ if (prlsdkGetDomainState(sdkdom, &domainState) < 0) + goto error; +
Why don't you move this ^^ call?
+ if (prlsdkConvertDomainState(domainState, envId, dom) < 0) + goto error; + if (!pdom->sdkdom) { pret = PrlHandle_AddRef(sdkdom); prlsdkCheckRetGoto(pret, error);