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@xxxxxxxxxx> --- 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list