As it turns out more than one place will need these objects, so rather
than cut-copy-paste in each, make a helper
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_hotplug.c | 41 +++++++++++++++++++++++++++++------------
1 file changed, 29 insertions(+), 12 deletions(-)
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 2cb2267..8a7c7cb 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1474,6 +1474,32 @@ qemuDomainAttachHostPCIDevice(virQEMUDriverPtr driver,
}
+static int
+qemuDomainGetChardevTLSObjects(virQEMUDriverConfigPtr cfg,
+ qemuDomainObjPrivatePtr priv,
+ virDomainChrSourceDefPtr dev,
+ char *charAlias,
+ virJSONValuePtr *tlsProps,
+ char **tlsAlias)
+{
+ if (!cfg->chardevTLS)
+ return 0;
+
+ if (qemuBuildTLSx509BackendProps(cfg->chardevTLSx509certdir,
+ dev->data.tcp.listen,
+ cfg->chardevTLSx509verify,
+ priv->qemuCaps,
+ tlsProps) < 0)
+ return -1;
+
+ if (!(*tlsAlias = qemuAliasTLSObjFromChardevAlias(charAlias)))
+ return -1;
+ dev->data.tcp.tlscreds = true;
+
+ return 0;
+}
+
+
int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virDomainRedirdevDefPtr redirdev)
@@ -1730,18 +1756,9 @@ int qemuDomainAttachChrDevice(virQEMUDriverPtr driver,
goto cleanup;
if (dev->type == VIR_DOMAIN_CHR_TYPE_TCP &&
- cfg->chardevTLS) {
- if (qemuBuildTLSx509BackendProps(cfg->chardevTLSx509certdir,
- dev->data.tcp.listen,
- cfg->chardevTLSx509verify,
- priv->qemuCaps,
- &tlsProps) < 0)
- goto cleanup;
-
- if (!(tlsAlias = qemuAliasTLSObjFromChardevAlias(charAlias)))
- goto cleanup;
- dev->data.tcp.tlscreds = true;
- }
+ qemuDomainGetChardevTLSObjects(cfg, priv, dev, charAlias,
+ &tlsProps, &tlsAlias) < 0)
+ goto cleanup;
qemuDomainObjEnterMonitor(driver, vm);
if (tlsAlias) {
--
2.7.4