Re: [libvirt] [PATCH 16/18] qemu_process: move listen code out of qemuProcessSetupGraphics

2016-04-08 Thread Pavel Hrdina
On Mon, Apr 04, 2016 at 03:20:33PM +0200, Pavel Hrdina wrote:
> Move adding the config listen type=address if there is none in
> qemuProcessPrepareDomain and move check for multiple listens to
> qemuProcessStartValidate.
> 
> Signed-off-by: Pavel Hrdina 
> ---
>  src/qemu/qemu_process.c | 48 
>  1 file changed, 28 insertions(+), 20 deletions(-)

Self-NACK for this patch, 17/18 and 18/18.  I'll improve them in following patch
series.

Pavel

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


[libvirt] [PATCH 16/18] qemu_process: move listen code out of qemuProcessSetupGraphics

2016-04-04 Thread Pavel Hrdina
Move adding the config listen type=address if there is none in
qemuProcessPrepareDomain and move check for multiple listens to
qemuProcessStartValidate.

Signed-off-by: Pavel Hrdina 
---
 src/qemu/qemu_process.c | 48 
 1 file changed, 28 insertions(+), 20 deletions(-)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index cfd8a90..8eb2b52 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4282,26 +4282,6 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
 if (qemuProcessSPICEAllocatePorts(driver, cfg, graphics, true) < 0)
 goto cleanup;
 }
-
-if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC ||
-graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
-if (graphics->nListens == 0) {
-const char *listenAddr
-= graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC ?
-cfg->vncListen : cfg->spiceListen;
-
-if (virDomainGraphicsListenAddAddress(graphics, 0,
-  listenAddr) < 0)
-goto cleanup;
-
-graphics->listens[0].fromConfig = true;
-} else if (graphics->nListens > 1) {
-virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-   _("QEMU does not support multiple listen "
- "addresses for one graphics device."));
-goto cleanup;
-}
-}
 }
 
 ret = 0;
@@ -4531,6 +4511,19 @@ qemuProcessStartValidate(virQEMUDriverPtr driver,
 }
 }
 
+for (i = 0; i < vm->def->ngraphics; i++) {
+virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
+if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC ||
+graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
+if (graphics->nListens > 1) {
+virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+   _("QEMU does not support multiple listen "
+ "addresses for one graphics device."));
+return -1;
+}
+}
+}
+
 return 0;
 }
 
@@ -5011,6 +5004,21 @@ qemuProcessPrepareDomain(virConnectPtr conn,
 continue;
 }
 }
+
+if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC ||
+graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
+if (graphics->nListens == 0) {
+const char *listenAddr
+= graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC ?
+cfg->vncListen : cfg->spiceListen;
+
+if (virDomainGraphicsListenAddAddress(graphics, 0,
+  listenAddr) < 0)
+goto cleanup;
+
+graphics->listens[0].fromConfig = true;
+}
+}
 }
 
 /* "volume" type disk's source must be translated before
-- 
2.7.4

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