[libvirt] [PATCH 3/4] qemu_process: merge graphics code into qemuProcessSetupGraphics

Pavel Hrdina phrdina at redhat.com
Mon May 9 13:48:15 UTC 2016


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 src/qemu/qemu_process.c | 45 ++++++++++++++-------------------------------
 1 file changed, 14 insertions(+), 31 deletions(-)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 3d46695..eddf3a7 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4402,16 +4402,21 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
 
     for (i = 0; i < vm->def->ngraphics; ++i) {
         virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
+        char *listenAddr = NULL;
 
         switch (graphics->type) {
         case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
             if (qemuProcessVNCAllocatePorts(driver, graphics, allocate) < 0)
                 goto cleanup;
+
+            listenAddr = cfg->vncListen;
             break;
 
         case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
             if (qemuProcessSPICEAllocatePorts(driver, cfg, graphics, allocate) < 0)
                 goto cleanup;
+
+            listenAddr = cfg->spiceListen;
             break;
 
         case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
@@ -4420,6 +4425,14 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
         case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
             break;
         }
+
+        if (graphics->nListens == 0 && listenAddr) {
+            if (virDomainGraphicsListenAppendAddress(graphics,
+                                                     listenAddr) < 0)
+                goto cleanup;
+
+            graphics->listens[0].fromConfig = true;
+        }
     }
 
     ret = 0;
@@ -5177,40 +5190,10 @@ qemuProcessPrepareDomain(virConnectPtr conn,
     if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0)
         goto cleanup;
 
-    VIR_DEBUG("Setting up ports for graphics");
+    VIR_DEBUG("Setting graphics devices");
     if (qemuProcessSetupGraphics(driver, vm, flags) < 0)
         goto cleanup;
 
-    /* Fill in run-time values for graphics devices. */
-    for (i = 0; i < vm->def->ngraphics; i++) {
-        virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
-        char *listenAddr = NULL;
-
-        switch (graphics->type) {
-        case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
-            listenAddr = cfg->vncListen;
-            break;
-
-        case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
-            listenAddr = cfg->spiceListen;
-            break;
-
-        case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
-        case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
-        case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
-        case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
-            break;
-        }
-
-        if (graphics->nListens == 0 && listenAddr) {
-            if (virDomainGraphicsListenAppendAddress(graphics,
-                                                     listenAddr) < 0)
-                goto cleanup;
-
-            graphics->listens[0].fromConfig = true;
-        }
-    }
-
     /* "volume" type disk's source must be translated before
      * cgroup and security setting.
      */
-- 
2.8.2




More information about the libvir-list mailing list