vm->def->nets[i] = newNet;
}
- if (!(cmd = qemuProcessCreatePretendCmd(driver, vm, NULL,
- qemuCheckFips(), true, false,
- VIR_QEMU_PROCESS_START_COLD)))
+ if (qemuProcessCreatePretendCmdPrepare(driver, vm, NULL, true,
+ VIR_QEMU_PROCESS_START_COLD) < 0)
+ goto cleanup;
+
+ if (!(cmd = qemuProcessCreatePretendCmdBuild(driver, vm, NULL,
+ qemuCheckFips(), true, false)))
goto cleanup;
ret = virCommandToString(cmd, false);
}
-virCommandPtr
-qemuProcessCreatePretendCmd(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
- const char *migrateURI,
- bool enableFips,
- bool standalone,
- bool jsonPropsValidation,
- unsigned int flags)
+int
+qemuProcessCreatePretendCmdPrepare(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
+ const char *migrateURI,
+ bool standalone,
+ unsigned int flags)
{
- unsigned int buildflags = 0;
-
virCheckFlags(VIR_QEMU_PROCESS_START_COLD |
VIR_QEMU_PROCESS_START_PAUSED |
- VIR_QEMU_PROCESS_START_AUTODESTROY, NULL);
+ VIR_QEMU_PROCESS_START_AUTODESTROY, -1);
flags |= VIR_QEMU_PROCESS_START_PRETEND;
flags |= VIR_QEMU_PROCESS_START_NEW;
if (standalone)
flags |= VIR_QEMU_PROCESS_START_STANDALONE;
- if (jsonPropsValidation)
- buildflags = QEMU_BUILD_COMMANDLINE_VALIDATE_KEEP_JSON;
-
if (qemuProcessInit(driver, vm, NULL, QEMU_ASYNC_JOB_NONE,
!!migrateURI, flags) < 0)
- return NULL;
+ return -1;
if (qemuProcessPrepareDomain(driver, vm, flags) < 0)
- return NULL;
+ return -1;
+
+ return 0;
+}
+
+
+virCommandPtr
+qemuProcessCreatePretendCmdBuild(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
+ const char *migrateURI,
+ bool enableFips,
+ bool standalone,
+ bool jsonPropsValidation)
+{
+ unsigned int buildflags = 0;
+
+ if (jsonPropsValidation)
+ buildflags = QEMU_BUILD_COMMANDLINE_VALIDATE_KEEP_JSON;
VIR_DEBUG("Building emulator command line");
return qemuBuildCommandLine(driver,
virNetDevVPortProfileOp vmop,
unsigned int flags);
-virCommandPtr qemuProcessCreatePretendCmd(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
- const char *migrateURI,
- bool enableFips,
- bool standalone,
- bool jsonPropsValidation,
- unsigned int flags);
+int qemuProcessCreatePretendCmdPrepare(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
+ const char *migrateURI,
+ bool standalone,
+ unsigned int flags);
+
+virCommandPtr qemuProcessCreatePretendCmdBuild(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
+ const char *migrateURI,
+ bool enableFips,
+ bool standalone,
+ bool jsonPropsValidation);
int qemuProcessInit(virQEMUDriverPtr driver,
virDomainObjPtr vm,
{
size_t i;
+ if (qemuProcessCreatePretendCmdPrepare(drv, vm, migrateURI, false,
+ VIR_QEMU_PROCESS_START_COLD) < 0)
+ return NULL;
+
for (i = 0; i < vm->def->nhostdevs; i++) {
virDomainHostdevDefPtr hostdev = vm->def->hostdevs[i];
}
}
- return qemuProcessCreatePretendCmd(drv, vm, migrateURI,
- (flags & FLAG_FIPS), false,
- jsonPropsValidation,
- VIR_QEMU_PROCESS_START_COLD);
+ return qemuProcessCreatePretendCmdBuild(drv, vm, migrateURI,
+ (flags & FLAG_FIPS), false,
+ jsonPropsValidation);
}