1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-26 02:50:32 +03:00

qemuBuildVhostuserCommandLine: Reuse qemuBuildChrChardevStr

There's no need to reinvent the wheel here. We already have a
function to format virDomainChrSourceDefPtr. It's called
qemuBuildChrChardevStr(). Use that instead of some dummy
virBufferAsprintf().

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Michal Privoznik 2016-08-15 16:15:44 +02:00
parent 336d4a71fe
commit 0c61cf3158

View File

@ -7781,13 +7781,16 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg,
}
static int
qemuBuildVhostuserCommandLine(virCommandPtr cmd,
qemuBuildVhostuserCommandLine(virQEMUDriverPtr driver,
virLogManagerPtr logManager,
virCommandPtr cmd,
virDomainDefPtr def,
virDomainNetDefPtr net,
virQEMUCapsPtr qemuCaps,
unsigned int bootindex)
{
virBuffer chardev_buf = VIR_BUFFER_INITIALIZER;
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
char *chardev = NULL;
virBuffer netdev_buf = VIR_BUFFER_INITIALIZER;
unsigned int queues = net->driver.virtio.queues;
char *nic = NULL;
@ -7800,9 +7803,10 @@ qemuBuildVhostuserCommandLine(virCommandPtr cmd,
switch ((virDomainChrType) net->data.vhostuser->type) {
case VIR_DOMAIN_CHR_TYPE_UNIX:
virBufferAsprintf(&chardev_buf, "socket,id=char%s,path=%s%s",
net->info.alias, net->data.vhostuser->data.nix.path,
net->data.vhostuser->data.nix.listen ? ",server" : "");
if (!(chardev = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
net->data.vhostuser,
net->info.alias, qemuCaps, false)))
goto error;
break;
case VIR_DOMAIN_CHR_TYPE_NULL:
@ -7820,7 +7824,7 @@ qemuBuildVhostuserCommandLine(virCommandPtr cmd,
case VIR_DOMAIN_CHR_TYPE_LAST:
virReportError(VIR_ERR_INTERNAL_ERROR,
_("vhost-user type '%s' not supported"),
virDomainChrTypeToString(net->data.vhostuser->type));
virDomainChrTypeToString(net->data.vhostuser->type));
goto error;
}
@ -7838,7 +7842,8 @@ qemuBuildVhostuserCommandLine(virCommandPtr cmd,
}
virCommandAddArg(cmd, "-chardev");
virCommandAddArgBuffer(cmd, &chardev_buf);
virCommandAddArg(cmd, chardev);
VIR_FREE(chardev);
virCommandAddArg(cmd, "-netdev");
virCommandAddArgBuffer(cmd, &netdev_buf);
@ -7852,11 +7857,13 @@ qemuBuildVhostuserCommandLine(virCommandPtr cmd,
virCommandAddArgList(cmd, "-device", nic, NULL);
VIR_FREE(nic);
virObjectUnref(cfg);
return 0;
error:
virBufferFreeAndReset(&chardev_buf);
virObjectUnref(cfg);
VIR_FREE(chardev);
virBufferFreeAndReset(&netdev_buf);
VIR_FREE(nic);
@ -7864,8 +7871,9 @@ qemuBuildVhostuserCommandLine(virCommandPtr cmd,
}
static int
qemuBuildInterfaceCommandLine(virCommandPtr cmd,
virQEMUDriverPtr driver,
qemuBuildInterfaceCommandLine(virQEMUDriverPtr driver,
virLogManagerPtr logManager,
virCommandPtr cmd,
virDomainDefPtr def,
virDomainNetDefPtr net,
virQEMUCapsPtr qemuCaps,
@ -7885,7 +7893,6 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
char **tapfdName = NULL;
char **vhostfdName = NULL;
virDomainNetType actualType = virDomainNetGetActualType(net);
virQEMUDriverConfigPtr cfg = NULL;
virNetDevBandwidthPtr actualBandwidth;
size_t i;
@ -7928,8 +7935,6 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
return -1;
}
cfg = virQEMUDriverGetConfig(driver);
switch (actualType) {
case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_BRIDGE:
@ -7989,7 +7994,8 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
break;
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
ret = qemuBuildVhostuserCommandLine(cmd, def, net, qemuCaps, bootindex);
ret = qemuBuildVhostuserCommandLine(driver, logManager, cmd, def,
net, qemuCaps, bootindex);
goto cleanup;
break;
@ -8162,7 +8168,6 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
VIR_FREE(host);
VIR_FREE(tapfdName);
VIR_FREE(vhostfdName);
virObjectUnref(cfg);
return ret;
}
@ -8172,8 +8177,9 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
* API domainSetSecurityTapFDLabel that doesn't use the const format.
*/
static int
qemuBuildNetCommandLine(virCommandPtr cmd,
virQEMUDriverPtr driver,
qemuBuildNetCommandLine(virQEMUDriverPtr driver,
virLogManagerPtr logManager,
virCommandPtr cmd,
virDomainDefPtr def,
virQEMUCapsPtr qemuCaps,
virNetDevVPortProfileOp vmop,
@ -8211,7 +8217,7 @@ qemuBuildNetCommandLine(virCommandPtr cmd,
else
vlan = i;
if (qemuBuildInterfaceCommandLine(cmd, driver, def, net,
if (qemuBuildInterfaceCommandLine(driver, logManager, cmd, def, net,
qemuCaps, vlan, bootNet, vmop,
standalone, nnicindexes,
nicindexes) < 0)
@ -9438,7 +9444,8 @@ qemuBuildCommandLine(virQEMUDriverPtr driver,
if (qemuBuildFSDevCommandLine(cmd, def, qemuCaps) < 0)
goto error;
if (qemuBuildNetCommandLine(cmd, driver, def, qemuCaps, vmop, standalone,
if (qemuBuildNetCommandLine(driver, logManager, cmd, def,
qemuCaps, vmop, standalone,
nnicindexes, nicindexes, &bootHostdevNet) < 0)
goto error;