mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
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 <jferlan@redhat.com>
This commit is contained in:
parent
4908772e15
commit
f87be33a6f
@ -3798,8 +3798,8 @@ qemuBuildUSBHostdevDevStr(virDomainDefPtr def,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char *
|
static char *
|
||||||
qemuBuildHubDevStr(virDomainDefPtr def,
|
qemuBuildHubDevStr(const virDomainDef *def,
|
||||||
virDomainHubDefPtr dev,
|
virDomainHubDefPtr dev,
|
||||||
virQEMUCapsPtr qemuCaps)
|
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 *
|
char *
|
||||||
qemuBuildUSBHostdevUSBDevStr(virDomainHostdevDefPtr dev)
|
qemuBuildUSBHostdevUSBDevStr(virDomainHostdevDefPtr dev)
|
||||||
{
|
{
|
||||||
@ -7824,16 +7846,8 @@ qemuBuildCommandLine(virConnectPtr conn,
|
|||||||
if (qemuBuildControllerDevCommandLine(cmd, def, qemuCaps) < 0)
|
if (qemuBuildControllerDevCommandLine(cmd, def, qemuCaps) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
for (i = 0; i < def->nhubs; i++) {
|
if (qemuBuildHubCommandLine(cmd, def, qemuCaps) < 0)
|
||||||
virDomainHubDefPtr hub = def->hubs[i];
|
goto error;
|
||||||
char *optstr;
|
|
||||||
|
|
||||||
virCommandAddArg(cmd, "-device");
|
|
||||||
if (!(optstr = qemuBuildHubDevStr(def, hub, qemuCaps)))
|
|
||||||
goto error;
|
|
||||||
virCommandAddArg(cmd, optstr);
|
|
||||||
VIR_FREE(optstr);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_BOOT) || emitBootindex)) {
|
if ((virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_BOOT) || emitBootindex)) {
|
||||||
/* bootDevs will get translated into either bootindex=N or boot=on
|
/* bootDevs will get translated into either bootindex=N or boot=on
|
||||||
|
@ -210,9 +210,6 @@ char *qemuBuildSCSIHostdevDevStr(virDomainDefPtr def,
|
|||||||
virDomainHostdevDefPtr dev,
|
virDomainHostdevDefPtr dev,
|
||||||
virQEMUCapsPtr qemuCaps);
|
virQEMUCapsPtr qemuCaps);
|
||||||
|
|
||||||
char *qemuBuildHubDevStr(virDomainDefPtr def,
|
|
||||||
virDomainHubDefPtr dev,
|
|
||||||
virQEMUCapsPtr qemuCaps);
|
|
||||||
char *qemuBuildRedirdevDevStr(virDomainDefPtr def,
|
char *qemuBuildRedirdevDevStr(virDomainDefPtr def,
|
||||||
virDomainRedirdevDefPtr dev,
|
virDomainRedirdevDefPtr dev,
|
||||||
virQEMUCapsPtr qemuCaps);
|
virQEMUCapsPtr qemuCaps);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user