vm, true) < 0)
goto cleanup;
- if (libxlBuildDomainConfig(driver->reservedGraphicsPorts, vm->def,
- cfg->ctx, &d_config) < 0)
- goto cleanup;
-
- if (cfg->autoballoon && libxlDomainFreeMem(cfg->ctx, &d_config) < 0)
- goto cleanup;
-
- if (virHostdevPrepareDomainDevices(hostdev_mgr, LIBXL_DRIVER_NAME,
- vm->def, VIR_HOSTDEV_SP_PCI) < 0)
- goto cleanup;
-
if (virDomainLockProcessStart(driver->lockManager,
"xen:///system",
vm,
goto cleanup;
VIR_FREE(priv->lockState);
+ if (libxlBuildDomainConfig(driver->reservedGraphicsPorts, vm->def,
+ cfg->ctx, &d_config) < 0)
+ goto cleanup_dom;
+
+ if (cfg->autoballoon && libxlDomainFreeMem(cfg->ctx, &d_config) < 0)
+ goto cleanup_dom;
+
+ if (virHostdevPrepareDomainDevices(hostdev_mgr, LIBXL_DRIVER_NAME,
+ vm->def, VIR_HOSTDEV_SP_PCI) < 0)
+ goto cleanup_dom;
+
/* Unlock virDomainObj while creating the domain */
virObjectUnlock(vm);
virReportError(VIR_ERR_INTERNAL_ERROR,
_("libxenlight failed to restore domain '%s'"),
d_config.c_info.name);
- goto release_dom;
+ goto cleanup_dom;
}
/*
vm->def->id = -1;
virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, VIR_DOMAIN_SHUTOFF_FAILED);
- release_dom:
- virDomainLockProcessPause(driver->lockManager, vm, &priv->lockState);
+ cleanup_dom:
+ libxlDomainCleanup(driver, vm);
cleanup:
libxl_domain_config_dispose(&d_config);