From f87be33a6f91f7a9ceec250c17272251239c2851 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Thu, 18 Feb 2016 09:30:28 -0500 Subject: [PATCH] qemu: Introduce qemuBuildHubCommandLine Add new function to manage adding the hub -device options to the command line removing that task from the mainline qemuBuildCommandLine. Also make qemuBuildHubDevStr static to the module since it's only used here. Signed-off-by: John Ferlan --- src/qemu/qemu_command.c | 38 ++++++++++++++++++++++++++------------ src/qemu/qemu_command.h | 3 --- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index dbb3a38fa2..6cc6a6c191 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3798,8 +3798,8 @@ qemuBuildUSBHostdevDevStr(virDomainDefPtr def, } -char * -qemuBuildHubDevStr(virDomainDefPtr def, +static char * +qemuBuildHubDevStr(const virDomainDef *def, virDomainHubDefPtr dev, virQEMUCapsPtr qemuCaps) { @@ -3834,6 +3834,28 @@ qemuBuildHubDevStr(virDomainDefPtr def, } +static int +qemuBuildHubCommandLine(virCommandPtr cmd, + const virDomainDef *def, + virQEMUCapsPtr qemuCaps) +{ + size_t i; + + for (i = 0; i < def->nhubs; i++) { + virDomainHubDefPtr hub = def->hubs[i]; + char *optstr; + + virCommandAddArg(cmd, "-device"); + if (!(optstr = qemuBuildHubDevStr(def, hub, qemuCaps))) + return -1; + virCommandAddArg(cmd, optstr); + VIR_FREE(optstr); + } + + return 0; +} + + char * qemuBuildUSBHostdevUSBDevStr(virDomainHostdevDefPtr dev) { @@ -7824,16 +7846,8 @@ qemuBuildCommandLine(virConnectPtr conn, if (qemuBuildControllerDevCommandLine(cmd, def, qemuCaps) < 0) goto error; - for (i = 0; i < def->nhubs; i++) { - virDomainHubDefPtr hub = def->hubs[i]; - char *optstr; - - virCommandAddArg(cmd, "-device"); - if (!(optstr = qemuBuildHubDevStr(def, hub, qemuCaps))) - goto error; - virCommandAddArg(cmd, optstr); - VIR_FREE(optstr); - } + if (qemuBuildHubCommandLine(cmd, def, qemuCaps) < 0) + goto error; if ((virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_BOOT) || emitBootindex)) { /* bootDevs will get translated into either bootindex=N or boot=on diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index db171f903e..b410c9abcc 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -210,9 +210,6 @@ char *qemuBuildSCSIHostdevDevStr(virDomainDefPtr def, virDomainHostdevDefPtr dev, virQEMUCapsPtr qemuCaps); -char *qemuBuildHubDevStr(virDomainDefPtr def, - virDomainHubDefPtr dev, - virQEMUCapsPtr qemuCaps); char *qemuBuildRedirdevDevStr(virDomainDefPtr def, virDomainRedirdevDefPtr dev, virQEMUCapsPtr qemuCaps); -- 2.39.5