From a53e50405251ed736eafb41b8d064741ab428919 Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Mon, 10 Feb 2014 11:33:19 +0100 Subject: [PATCH] qemu: rework '-serial none' Limiting ourselves to qemu without QEMU_CAPS_DEVICE capability, we used '-serial none' only if there was no serial device defined in the domain XML. This means that if we want to have a possibility of the device being defined in XML, but not used in the command-line (e.g. when it's pointless), we'll fail to attach '-serial none' to the command-line (when skipping the device's command-line building and the device being the only one). Since there is no such device, this patch doesn't actually do anything, but enables easier future additions in this manner. Signed-off-by: Martin Kletzander --- src/qemu/qemu_command.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 7b2b91b9f..31ad2221e 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1,7 +1,7 @@ /* * qemu_command.c: QEMU command generation * - * Copyright (C) 2006-2013 Red Hat, Inc. + * Copyright (C) 2006-2014 Red Hat, Inc. * Copyright (C) 2006 Daniel P. Berrange * * This library is free software; you can redistribute it and/or @@ -7710,6 +7710,7 @@ qemuBuildCommandLine(virConnectPtr conn, int vnc = 0; int spice = 0; int usbcontroller = 0; + int actualSerials = 0; bool usblegacy = false; bool mlock = false; int contOrder[] = { @@ -8806,11 +8807,7 @@ qemuBuildCommandLine(virConnectPtr conn, virCommandAddArgBuffer(cmd, &opt); } - if (!def->nserials) { - /* If we have -device, then we set -nodefault already */ - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) - virCommandAddArgList(cmd, "-serial", "none", NULL); - } else { + if (def->nserials) { for (i = 0; i < def->nserials; i++) { virDomainChrDefPtr serial = def->serials[i]; char *devstr; @@ -8834,9 +8831,14 @@ qemuBuildCommandLine(virConnectPtr conn, virCommandAddArg(cmd, devstr); VIR_FREE(devstr); } + actualSerials++; } } + /* If we have -device, then we set -nodefault already */ + if (!actualSerials && !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) + virCommandAddArgList(cmd, "-serial", "none", NULL); + if (!def->nparallels) { /* If we have -device, then we set -nodefault already */ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) -- 2.39.5