[PATCH] qemu: Redundant listen address entry in quest xml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When editing guest's XML (on QEMU), it was possible to add multiple
listen elements into graphics parent element. However QEMU does not
support listening on multiple addresses. This patch causes qemu
post-parse callback to remove any redundant entries, leaving only 1
listening address if provided, otherwise the configuration remains
untouched.
---
 src/qemu/qemu_domain.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 4f63c88..75a4446 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -827,6 +827,25 @@ qemuDomainDefPostParse(virDomainDefPtr def,
                                   VIR_DOMAIN_INPUT_BUS_USB) < 0)
         return -1;
 
+    /* loop over all graphics connections and all listening addresses,
+     * removing all redundant listening address entries, thus leaving
+     * only 1 entry
+     */
+    if (def->ngraphics > 0 && def->graphics) {
+        size_t i, j;
+        for (i = 0; i < def->ngraphics; i++) {
+            virDomainGraphicsListenDefPtr listens = def->graphics[i]->listens;
+            size_t nListens = def->graphics[i]->nListens;
+            if (nListens <= 1 || !listens)
+                continue;
+            for (j = 1; j < nListens; j++) {
+                VIR_FREE(listens[j].address);
+                VIR_FREE(listens[j].network);
+            }
+            def->graphics[i]->nListens = 1;
+        }
+    }
+
     return 0;
 }
 
-- 
1.9.3

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]