return 0;
}
+static int
+vzEnsureDomainExists(virDomainObjPtr dom)
+{
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+ if (!dom->removing)
+ return 0;
+
+ virUUIDFormat(dom->def->uuid, uuidstr);
+ virReportError(VIR_ERR_NO_DOMAIN,
+ _("no domain with matching uuid '%s' (%s)"),
+ uuidstr, dom->def->name);
+
+ return -1;
+}
+
static virDomainPtr
vzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
{
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
if (prlsdkApplyConfig(driver, dom, def))
goto cleanup;
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
ret = prlsdkUnregisterDomain(privconn->driver, dom, flags);
cleanup:
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
state = virDomainObjGetState(dom, &reason);
if (state == VIR_DOMAIN_RUNNING && (flags & VIR_DOMAIN_SAVE_PAUSED)) {
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
if (prlsdkAttachDevice(driver, dom, dev) < 0)
goto cleanup;
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
if (prlsdkDetachDevice(driver, dom, dev) < 0)
goto cleanup;
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
ret = prlsdkDomainSetUserPassword(dom, user, password);
cleanup:
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
if (prlsdkUpdateDevice(driver, dom, dev) < 0)
goto cleanup;
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
ret = prlsdkSetMemsize(dom, memory >> 10);
cleanup:
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
/* snaphot name is ignored, it will be set to auto generated by sdk uuid */
if (prlsdkCreateSnapshot(dom, def->description) < 0)
goto cleanup;
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
ret = prlsdkSwitchToSnapshot(dom, snapshot->name,
flags & VIR_DOMAIN_SNAPSHOT_REVERT_PAUSED);
cleanup:
goto cleanup;
job = true;
+ if (vzEnsureDomainExists(dom) < 0)
+ goto cleanup;
+
if (!(vzuri = vzParseVzURI(miguri)))
goto cleanup;
goto cleanup;
job = true;
+ if (dom->removing)
+ goto cleanup;
+
if (prlsdkUpdateDomain(driver, dom) < 0)
goto cleanup;
goto cleanup;
job = true;
+ if (dom->removing) {
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+ virUUIDFormat(dom->def->uuid, uuidstr);
+ virReportError(VIR_ERR_NO_DOMAIN,
+ _("no domain with matching uuid '%s' (%s)"),
+ uuidstr, dom->def->name);
+ goto cleanup;
+ }
+
ret = prlsdkDomainChangeStateLocked(privconn->driver, dom, chstate);
cleanup: