g_auto(GStrv) loader_argv = NULL;
if (!(def = virDomainDefNew(xmlopt)))
- goto cleanup;
+ return NULL;
/* Initialize defaults. */
def->virtType = VIR_DOMAIN_VIRT_BHYVE;
if (virUUIDGenerate(def->uuid) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Failed to generate uuid"));
- goto cleanup;
+ return NULL;
}
def->id = -1;
def->clock.offset = VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME;
&bhyve_argc, &bhyve_argv)) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Failed to convert the command string to argv-lists"));
- goto error;
+ return NULL;
}
if (bhyveParseBhyveCommandLine(def, xmlopt, caps, bhyve_argc, bhyve_argv))
- goto error;
+ return NULL;
if (loader_argv && STREQ(loader_argv[0], "/usr/sbin/bhyveload")) {
if (bhyveParseBhyveLoadCommandLine(def, loader_argc, loader_argv))
- goto error;
+ return NULL;
} else if (loader_argv) {
if (bhyveParseCustomLoaderCommandLine(def, loader_argc, loader_argv))
- goto error;
+ return NULL;
}
- cleanup:
return g_steal_pointer(&def);
- error:
- goto cleanup;
}
ret = g_new0(virDomainDef, 1);
if (!(ret->numa = virDomainNumaNew()))
- goto error;
+ return NULL;
ret->mem.hard_limit = VIR_DOMAIN_MEMORY_PARAM_UNLIMITED;
ret->mem.soft_limit = VIR_DOMAIN_MEMORY_PARAM_UNLIMITED;
ret->scsiBusMaxUnit = SCSI_NARROW_BUS_MAX_CONT_UNIT;
return g_steal_pointer(&ret);
- error:
- return NULL;
}
g_autoptr(virDomainDef) oldDef = NULL;
if ((configFile = virDomainConfigFile(configDir, name)) == NULL)
- goto error;
+ return NULL;
if (!(def = virDomainDefParseFile(configFile, xmlopt, NULL,
VIR_DOMAIN_DEF_PARSE_INACTIVE |
VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE |
VIR_DOMAIN_DEF_PARSE_ALLOW_POST_PARSE_FAIL)))
- goto error;
+ return NULL;
if ((autostartLink = virDomainConfigFile(autostartDir, name)) == NULL)
- goto error;
+ return NULL;
if ((autostart = virFileLinkPointsTo(autostartLink, configFile)) < 0)
- goto error;
+ return NULL;
if (!(dom = virDomainObjListAddLocked(doms, &def, xmlopt, 0, &oldDef)))
- goto error;
+ return NULL;
dom->autostart = autostart;
(*notify)(dom, oldDef == NULL, opaque);
return dom;
-
- error:
- return NULL;
}
virDomainDef *src,
virDomainDef *dst)
{
- bool ret = false;
g_autoptr(virDomainDef) migratableDefSrc = NULL;
g_autoptr(virDomainDef) migratableDefDst = NULL;
if (!(migratableDefSrc = virDomainDefCopy(src, driver->xmlopt, NULL, true)) ||
!(migratableDefDst = virDomainDefCopy(dst, driver->xmlopt, NULL, true)))
- goto cleanup;
-
- ret = virDomainDefCheckABIStability(migratableDefSrc,
- migratableDefDst,
- driver->xmlopt);
+ return false;
- cleanup:
- return ret;
+ return virDomainDefCheckABIStability(migratableDefSrc,
+ migratableDefDst,
+ driver->xmlopt);
}
virCheckFlags(LIBXL_MIGRATION_FLAGS, -1);
if (virTypedParamsValidate(params, nparams, LIBXL_MIGRATION_PARAMETERS) < 0)
- goto error;
+ return -1;
if (virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_XML,
VIR_MIGRATE_PARAM_URI,
&uri_in) < 0)
- goto error;
+ return -1;
if (!(def = libxlDomainMigrationDstPrepareDef(driver, dom_xml, dname)))
- goto error;
+ return -1;
if (virDomainMigratePrepareTunnel3ParamsEnsureACL(dconn, def) < 0)
- goto error;
+ return -1;
if (libxlDomainMigrationDstPrepareTunnel3(dconn, st, &def, cookiein,
cookieinlen, flags) < 0)
- goto error;
+ return -1;
return 0;
-
- error:
- return -1;
}
static int
VIR_MIGRATE_PARAM_URI,
&uri_in) < 0)
- goto error;
+ return -1;
if (!(def = libxlDomainMigrationDstPrepareDef(driver, dom_xml, dname)))
- goto error;
+ return -1;
if (virDomainMigratePrepare3ParamsEnsureACL(dconn, def) < 0)
- goto error;
+ return -1;
if (libxlDomainMigrationDstPrepare(dconn, &def, uri_in, uri_out,
cookiein, cookieinlen, flags) < 0)
- goto error;
+ return -1;
return 0;
-
- error:
- return -1;
}
static int
if (xenParseConfigCommon(conf, def, caps, XEN_CONFIG_FORMAT_XL,
xmlopt) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLOS(conf, def, caps) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLVnuma(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLXenbusLimits(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLCPUID(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLDisk(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLSpice(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLInputDevs(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLUSB(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLUSBController(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLChannel(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXLNamespaceData(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (virDomainDefPostParse(def, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
xmlopt, NULL) < 0)
- goto cleanup;
+ return NULL;
return g_steal_pointer(&def);
-
- cleanup:
- return NULL;
}
if (xenParseConfigCommon(conf, def, caps, XEN_CONFIG_FORMAT_XM,
xmlopt) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXMOS(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXMDiskList(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (xenParseXMInputDevs(conf, def) < 0)
- goto cleanup;
+ return NULL;
if (virDomainDefPostParse(def, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
xmlopt, NULL) < 0)
- goto cleanup;
+ return NULL;
return g_steal_pointer(&def);
-
- cleanup:
- return NULL;
}
static int
return NULL;
if (!(vmdef = virDomainDefNew(xmlopt)))
- goto error;
+ return NULL;
if (virUUIDGenerate(vmdef->uuid) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("failed to generate uuid"));
- goto error;
+ return NULL;
}
vmdef->id = -1;
/* Value not handled by the LXC driver, setting to
* minimum required to make XML parsing pass */
if (virDomainDefSetVcpusMax(vmdef, 1, xmlopt) < 0)
- goto error;
+ return NULL;
if (virDomainDefSetVcpus(vmdef, 1) < 0)
- goto error;
+ return NULL;
vmdef->nfss = 0;
vmdef->os.type = VIR_DOMAIN_OSTYPE_EXE;
/* Check for pre LXC 3.0 legacy key */
if (virConfGetValueString(properties, "lxc.utsname", &value) <= 0)
- goto error;
+ return NULL;
}
vmdef->name = g_strdup(value);
vmdef->name = g_strdup("unnamed");
if (lxcSetRootfs(vmdef, properties) < 0)
- goto error;
+ return NULL;
/* LXC 3.0 uses "lxc.mount.fstab", while legacy used just "lxc.mount".
* In either case, generate the error to use "lxc.mount.entry" instead */
virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
_("lxc.mount.fstab or lxc.mount found, use "
"lxc.mount.entry lines instead"));
- goto error;
+ return NULL;
}
/* Loop over lxc.mount.entry to add filesystem devices for them */
if (virConfWalk(properties, lxcFstabWalkCallback, vmdef) < 0)
- goto error;
+ return NULL;
/* Network configuration */
if (lxcConvertNetworkSettings(vmdef, properties) < 0)
- goto error;
+ return NULL;
/* Consoles */
if (lxcCreateConsoles(vmdef, properties) < 0)
- goto error;
+ return NULL;
/* lxc.idmap or legacy lxc.id_map */
if (virConfWalk(properties, lxcIdmapWalkCallback, vmdef) < 0)
- goto error;
+ return NULL;
/* lxc.cgroup.memory.* */
if (lxcSetMemTune(vmdef, properties) < 0)
- goto error;
+ return NULL;
/* lxc.cgroup.cpu.* */
if (lxcSetCpuTune(vmdef, properties) < 0)
- goto error;
+ return NULL;
/* lxc.cgroup.cpuset.* */
if (lxcSetCpusetTune(vmdef, properties) < 0)
- goto error;
+ return NULL;
/* lxc.cgroup.blkio.* */
if (lxcSetBlkioTune(vmdef, properties) < 0)
- goto error;
+ return NULL;
/* lxc.cap.drop */
lxcSetCapDrop(vmdef, properties);
if (virDomainDefPostParse(vmdef, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
xmlopt, NULL) < 0)
- goto error;
+ return NULL;
return g_steal_pointer(&vmdef);
-
- error:
- return NULL;
}
virDomainDef *def,
const char *newxml)
{
- virDomainDef *ret = NULL;
g_autoptr(virDomainDef) newdef_migr = NULL;
g_autoptr(virDomainDef) newdef = NULL;
if (!(newdef = virDomainDefParseString(newxml, driver->xmlopt, NULL,
VIR_DOMAIN_DEF_PARSE_INACTIVE)))
- goto cleanup;
+ return NULL;
if (!(newdef_migr = qemuDomainDefCopy(driver, NULL,
newdef,
QEMU_DOMAIN_FORMAT_LIVE_FLAGS |
VIR_DOMAIN_XML_MIGRATABLE)))
- goto cleanup;
+ return NULL;
if (!virDomainDefCheckABIStability(def, newdef_migr, driver->xmlopt)) {
virErrorPtr save_err;
* fails. Snapshots created prior to v1.1.3 have this issue. */
if (!virDomainDefCheckABIStability(def, newdef, driver->xmlopt)) {
virErrorRestore(&save_err);
- goto cleanup;
+ return NULL;
}
virFreeError(save_err);
/* use the user provided XML */
- ret = g_steal_pointer(&newdef);
- } else {
- ret = g_steal_pointer(&newdef_migr);
+ return g_steal_pointer(&newdef);
}
- cleanup:
- return ret;
+ return g_steal_pointer(&newdef_migr);
}
const char *dxml,
unsigned int flags)
{
- int ret = -1;
int fd = -1;
g_autoptr(virDomainDef) def = NULL;
g_autoptr(virDomainDef) newdef = NULL;
VIR_DOMAIN_SAVE_PAUSED, -1);
if ((fd = testDomainSaveImageOpen(privconn, path, &def)) < 0)
- goto cleanup;
+ return -1;
VIR_FORCE_CLOSE(fd);
if ((newdef = virDomainDefParseString(dxml, privconn->xmlopt, NULL,
VIR_DOMAIN_DEF_PARSE_INACTIVE)) == NULL)
- goto cleanup;
+ return -1;
if (!testDomainSaveImageWrite(privconn, path, newdef))
- goto cleanup;
-
- ret = 0;
+ return -1;
- cleanup:
- return ret;
+ return 0;
}
const char *dname = NULL;
const char *dom_xml = NULL;
g_autoptr(virDomainDef) def = NULL;
- int ret = -1;
virCheckFlags(VZ_MIGRATION_FLAGS, -1);
if (virTypedParamsValidate(params, nparams, VZ_MIGRATION_PARAMETERS) < 0)
- goto cleanup;
+ return -1;
if (virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_URI, &miguri) < 0 ||
VIR_MIGRATE_PARAM_DEST_XML, &dom_xml) < 0 ||
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_NAME, &dname) < 0)
- goto cleanup;
+ return -1;
/* We must set uri_out if miguri is not set. This is direct
* managed migration requirement */
if (!miguri && !(*uri_out = vzMigrationCreateURI()))
- goto cleanup;
+ return -1;
/* domain uuid and domain name are for backward compat */
if (vzBakeCookie(privconn->driver, NULL,
VZ_MIGRATION_COOKIE_SESSION_UUID
| VZ_MIGRATION_COOKIE_DOMAIN_UUID
| VZ_MIGRATION_COOKIE_DOMAIN_NAME) < 0)
- goto cleanup;
+ return -1;
if (!(def = virDomainDefParseString(dom_xml, driver->xmlopt,
NULL,
VIR_DOMAIN_DEF_PARSE_INACTIVE)))
- goto cleanup;
+ return -1;
if (dname) {
VIR_FREE(def->name);
}
if (virDomainMigratePrepare3ParamsEnsureACL(conn, def) < 0)
- goto cleanup;
-
- ret = 0;
+ return -1;
- cleanup:
- return ret;
+ return 0;
}
static int
char uuidstr[VIR_UUID_STRING_BRACED_BUFLEN];
if (!(def = virDomainDefNew(driver->xmlopt)))
- goto error;
+ return NULL;
if (!(def->name = prlsdkGetStringParamVar(PrlVmCfg_GetName, sdkdom)))
- goto error;
+ return NULL;
pret = prlsdkGetStringParamBuf(PrlVmCfg_GetUuid,
sdkdom, uuidstr, sizeof(uuidstr));
if (prlsdkUUIDParse(uuidstr, def->uuid) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Domain UUID is malformed or empty"));
- goto error;
+ return NULL;
}
def->virtType = VIR_DOMAIN_VIRT_VZ;
def->mem.cur_balloon = ram << 10;
if (prlsdkConvertCpuInfo(sdkdom, def, driver->xmlopt) < 0)
- goto error;
+ return NULL;
if (prlsdkConvertCpuMode(sdkdom, def) < 0)
- goto error;
+ return NULL;
if (prlsdkConvertDomainType(sdkdom, def) < 0)
- goto error;
+ return NULL;
if (prlsdkAddVNCInfo(sdkdom, def) < 0)
- goto error;
+ return NULL;
/* depends on prlsdkAddVNCInfo */
if (prlsdkAddDomainHardware(driver, sdkdom, def, driver->xmlopt) < 0)
- goto error;
+ return NULL;
/* depends on prlsdkAddDomainHardware */
if (!IS_CT(def) && prlsdkConvertBootOrderVm(sdkdom, def) < 0)
- goto error;
+ return NULL;
pret = PrlVmCfg_GetEnvId(sdkdom, &envId);
prlsdkCheckRetGoto(pret, error);
autostart != PAO_VM_START_MANUAL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unknown autostart mode: %X"), autostart);
- goto error;
+ return NULL;
}
if (prlsdkGetDomainState(dom, sdkdom, &domainState) < 0)
- goto error;
+ return NULL;
if (!IS_CT(def) && virDomainDefAddImplicitDevices(def, driver->xmlopt) < 0)
- goto error;
+ return NULL;
if (def->ngraphics > 0) {
int bus = IS_CT(def) ? VIR_DOMAIN_INPUT_BUS_PARALLELS :
if (virDomainDefMaybeAddInput(def,
VIR_DOMAIN_INPUT_TYPE_MOUSE,
bus) < 0)
- goto error;
+ return NULL;
if (virDomainDefMaybeAddInput(def,
VIR_DOMAIN_INPUT_TYPE_KBD,
bus) < 0)
- goto error;
+ return NULL;
}
if (!dom) {
job = PrlVm_SubscribeToPerfStats(sdkdom, NULL);
if (PRL_FAILED(waitJob(job)))
- goto error;
+ return NULL;
virObjectLock(driver);
if (!(olddom = virDomainObjListFindByUUID(driver->domains, def->uuid)))
if (olddom) {
return olddom;
} else if (!dom) {
- goto error;
+ return NULL;
}
pdom = dom->privateData;
dom->autostart = 0;
return dom;
-
- error:
- return NULL;
}
int