diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a55adda4e5..facb942485 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -10436,7 +10436,6 @@ qemuBuildCommandLine(virQEMUDriver *driver, const char *migrateURI, virDomainMomentObj *snapshot, virNetDevVPortProfileOp vmop, - bool standalone, bool enableFips, size_t *nnicindexes, int **nicindexes, @@ -10484,7 +10483,7 @@ qemuBuildCommandLine(virQEMUDriver *driver, qemuBuildCompatDeprecatedCommandLine(cmd, cfg, def, qemuCaps); - if (!standalone) + if (!(flags & QEMU_BUILD_COMMAND_LINE_CPUS_RUNNING)) virCommandAddArg(cmd, "-S"); /* freeze CPU */ if (qemuBuildMasterKeyCommandLine(cmd, priv) < 0) diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 9e8eef1e29..df46e80067 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -43,12 +43,15 @@ VIR_ENUM_DECL(qemuVideo); VIR_ENUM_DECL(qemuSoundCodec); +typedef enum { + QEMU_BUILD_COMMAND_LINE_CPUS_RUNNING = 1 << 0, +} qemuBuildCommandLineFlags; + virCommand *qemuBuildCommandLine(virQEMUDriver *driver, virDomainObj *vm, const char *migrateURI, virDomainMomentObj *snapshot, virNetDevVPortProfileOp vmop, - bool standalone, bool enableFips, size_t *nnicindexes, int **nicindexes, diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 702fd0239c..4f6b295859 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -6330,6 +6330,7 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn, virQEMUDriver *driver = conn->privateData; virDomainObj *vm = NULL; g_autoptr(virCommand) cmd = NULL; + unsigned int commandlineflags = QEMU_BUILD_COMMAND_LINE_CPUS_RUNNING; char *ret = NULL; size_t i; @@ -6383,7 +6384,8 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn, goto cleanup; if (!(cmd = qemuProcessCreatePretendCmdBuild(driver, vm, NULL, - qemuCheckFips(vm), true))) + qemuCheckFips(vm), + commandlineflags))) goto cleanup; ret = virCommandToString(cmd, false); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 07e467d01e..38079ce159 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -7450,7 +7450,6 @@ qemuProcessLaunch(virConnectPtr conn, vm, incoming ? "defer" : NULL, snapshot, vmop, - false, qemuCheckFips(vm), &nnicindexes, &nicindexes, 0))) goto cleanup; @@ -7952,7 +7951,7 @@ qemuProcessCreatePretendCmdBuild(virQEMUDriver *driver, virDomainObj *vm, const char *migrateURI, bool enableFips, - bool standalone) + unsigned int flags) { VIR_DEBUG("Building emulator command line"); return qemuBuildCommandLine(driver, @@ -7960,11 +7959,10 @@ qemuProcessCreatePretendCmdBuild(virQEMUDriver *driver, migrateURI, NULL, VIR_NETDEV_VPORT_PROFILE_OP_NO_OP, - standalone, enableFips, NULL, NULL, - 0); + flags); } diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h index f81bfd930a..fa3634c64f 100644 --- a/src/qemu/qemu_process.h +++ b/src/qemu/qemu_process.h @@ -98,10 +98,10 @@ int qemuProcessCreatePretendCmdPrepare(virQEMUDriver *driver, unsigned int flags); virCommand *qemuProcessCreatePretendCmdBuild(virQEMUDriver *driver, - virDomainObj *vm, - const char *migrateURI, - bool enableFips, - bool standalone); + virDomainObj *vm, + const char *migrateURI, + bool enableFips, + unsigned int flags); int qemuProcessInit(virQEMUDriver *driver, virDomainObj *vm, diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 363edc763e..ee5de55e21 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -488,7 +488,7 @@ testCompareXMLToArgvCreateArgs(virQEMUDriver *drv, enableFips = false; return qemuProcessCreatePretendCmdBuild(drv, vm, migrateURI, - enableFips, false); + enableFips, 0); }