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