In preparation for adding support for '-overcommit cpu-pm=[on|off]', add qemuBuildOvercommitCommandLine() to generate the '-overcommit' commandline. Move the existing '-overcommit mem-lock=[on|off]' generation code from qemuBuildMemCommandline() to this function. Signed-off-by: Menno Lageman <menno.lageman@xxxxxxxxxx> --- src/qemu/qemu_command.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f096e8f27e58..922456ec679e 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7832,10 +7832,11 @@ qemuBuildMemCommandLine(virCommandPtr cmd, qemuBuildMemPathStr(cfg, def, cmd, priv) < 0) return -1; - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OVERCOMMIT)) { - virCommandAddArg(cmd, "-overcommit"); - virCommandAddArgFormat(cmd, "mem-lock=%s", def->mem.locked ? "on" : "off"); - } else { + /* + * '-overcommit mem-lock=on|off' is handled with other + * overcommit options later on. + */ + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OVERCOMMIT)) { virCommandAddArg(cmd, "-realtime"); virCommandAddArgFormat(cmd, "mlock=%s", def->mem.locked ? "on" : "off"); @@ -7845,6 +7846,19 @@ qemuBuildMemCommandLine(virCommandPtr cmd, } +static int +qemuBuildOvercommitCommandLine(virCommandPtr cmd, + const virDomainDef *def, + virQEMUCapsPtr qemuCaps) +{ + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OVERCOMMIT)) { + virCommandAddArg(cmd, "-overcommit"); + virCommandAddArgFormat(cmd, "mem-lock=%s", def->mem.locked ? "on" : "off"); + } + return 0; +} + + static int qemuBuildIOThreadCommandLine(virCommandPtr cmd, const virDomainDef *def) @@ -10657,6 +10671,9 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, if (qemuBuildMemCommandLine(cmd, cfg, def, qemuCaps, priv) < 0) goto error; + if (qemuBuildOvercommitCommandLine(cmd, def, qemuCaps) < 0) + goto error; + if (qemuBuildSmpCommandLine(cmd, def) < 0) goto error; -- 2.21.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list