79c4324644
Change-Id: I2d302dda68298877c65c99147f5bf22186a59aac
73 lines
3.0 KiB
Diff
73 lines
3.0 KiB
Diff
From 31c32f8d76a447899ff4a5c551c06a2888814111 Mon Sep 17 00:00:00 2001
|
|
From: Peter Krempa <pkrempa@redhat.com>
|
|
Date: Thu, 14 May 2020 12:51:21 +0200
|
|
Subject: [PATCH 06/18] qemuBuildChannelsCommandLine: Extract common formatting
|
|
of 'chardev'
|
|
|
|
Both active branches create the same backend chardev. Since there is no
|
|
other case, extract it before the switch so that we don't have to
|
|
duplicate it.
|
|
|
|
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
|
Reviewed-by: Eric Blake <eblake@redhat.com>
|
|
---
|
|
src/qemu/qemu_command.c | 32 +++++++++++---------------------
|
|
1 file changed, 11 insertions(+), 21 deletions(-)
|
|
|
|
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
|
index 7c4db11ae2..579e78ea75 100644
|
|
--- a/src/qemu/qemu_command.c
|
|
+++ b/src/qemu/qemu_command.c
|
|
@@ -8857,37 +8857,27 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager,
|
|
|
|
for (i = 0; i < def->nchannels; i++) {
|
|
virDomainChrDefPtr channel = def->channels[i];
|
|
- char *devstr;
|
|
+ g_autofree char *chardevstr = NULL;
|
|
+ g_autofree char *netdevstr = NULL;
|
|
|
|
- switch ((virDomainChrChannelTargetType) channel->targetType) {
|
|
- case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD:
|
|
- if (!(devstr = qemuBuildChrChardevStr(logManager, secManager,
|
|
+ if (!(chardevstr = qemuBuildChrChardevStr(logManager, secManager,
|
|
cmd, cfg, def,
|
|
channel->source,
|
|
channel->info.alias,
|
|
qemuCaps, cdevflags)))
|
|
- return -1;
|
|
- virCommandAddArg(cmd, "-chardev");
|
|
- virCommandAddArg(cmd, devstr);
|
|
- VIR_FREE(devstr);
|
|
+ return -1;
|
|
|
|
- if (qemuBuildChrDeviceStr(&devstr, def, channel, qemuCaps) < 0)
|
|
+ virCommandAddArg(cmd, "-chardev");
|
|
+ virCommandAddArg(cmd, chardevstr);
|
|
+
|
|
+ switch ((virDomainChrChannelTargetType) channel->targetType) {
|
|
+ case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD:
|
|
+ if (qemuBuildChrDeviceStr(&netdevstr, def, channel, qemuCaps) < 0)
|
|
return -1;
|
|
- virCommandAddArgList(cmd, "-netdev", devstr, NULL);
|
|
- VIR_FREE(devstr);
|
|
+ virCommandAddArgList(cmd, "-netdev", netdevstr, NULL);
|
|
break;
|
|
|
|
case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO:
|
|
- if (!(devstr = qemuBuildChrChardevStr(logManager, secManager,
|
|
- cmd, cfg, def,
|
|
- channel->source,
|
|
- channel->info.alias,
|
|
- qemuCaps, cdevflags)))
|
|
- return -1;
|
|
- virCommandAddArg(cmd, "-chardev");
|
|
- virCommandAddArg(cmd, devstr);
|
|
- VIR_FREE(devstr);
|
|
-
|
|
if (qemuBuildChrDeviceCommandLine(cmd, def, channel, qemuCaps) < 0)
|
|
return -1;
|
|
break;
|
|
--
|
|
2.23.0.windows.1
|
|
|