]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_domain: add a empty listen type address if we remove socket for VNC
authorPavel Hrdina <phrdina@redhat.com>
Thu, 19 May 2016 07:35:02 +0000 (09:35 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Fri, 20 May 2016 08:05:55 +0000 (10:05 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_domain.c
tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-autosocket.xml

index 0cec340d0886bc90308e1696675dd88123f6a5cf..65dfa37c73779befcb92ba06e12bbb4c7b79ac24 100644 (file)
@@ -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;
index 7440533687458e383b4cbf3c576859948d3e50a3..571804175c6384ae542bd3bd428303960bccb830 100644 (file)
@@ -29,7 +29,9 @@
     <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' vram='16384' heads='1' primary='yes'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>