From ed7683f4d6e1f2d11a610d81f752d1ac0029a254 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Thu, 19 May 2016 09:35:02 +0200 Subject: [PATCH] qemu_domain: add a empty listen type address if we remove socket for VNC Signed-off-by: Pavel Hrdina --- src/qemu/qemu_domain.c | 12 +++++++++--- .../qemuxml2xmlout-graphics-vnc-autosocket.xml | 4 +++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 0cec340d08..65dfa37c73 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1995,7 +1995,7 @@ qemuCanonicalizeMachine(virDomainDefPtr def, virQEMUCapsPtr qemuCaps) } -static void +static int qemuDomainRecheckInternalPaths(virDomainDefPtr def, virQEMUDriverConfigPtr cfg, unsigned int flags) @@ -2008,12 +2008,17 @@ qemuDomainRecheckInternalPaths(virDomainDefPtr def, if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC && graphics->data.vnc.socket && STRPREFIX(graphics->data.vnc.socket, cfg->libDir)) { - if (flags & VIR_DOMAIN_DEF_PARSE_INACTIVE) + if (flags & VIR_DOMAIN_DEF_PARSE_INACTIVE) { VIR_FREE(graphics->data.vnc.socket); + if (virDomainGraphicsListenAppendAddress(graphics, NULL) < 0) + return -1; + } else graphics->data.vnc.socketAutogenerated = true; } } + + return 0; } @@ -2066,7 +2071,8 @@ qemuDomainDefPostParse(virDomainDefPtr def, qemuDomainDefEnableDefaultFeatures(def, qemuCaps); - qemuDomainRecheckInternalPaths(def, cfg, parseFlags); + if (qemuDomainRecheckInternalPaths(def, cfg, parseFlags) < 0) + goto cleanup; if (virSecurityManagerVerify(driver->securityManager, def) < 0) goto cleanup; diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-autosocket.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-autosocket.xml index 7440533687..571804175c 100644 --- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-autosocket.xml +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-autosocket.xml @@ -29,7 +29,9 @@ - + + +