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 <mkletzan@xxxxxxxxxx> --- 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 6cc32f9..d8a7951 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 @@ -7707,6 +7707,7 @@ qemuBuildCommandLine(virConnectPtr conn, int vnc = 0; int spice = 0; int usbcontroller = 0; + int actualSerials = 0; bool usblegacy = false; bool mlock = false; int contOrder[] = { @@ -8802,11 +8803,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; @@ -8830,9 +8827,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)) -- 1.8.5.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list