From: Peter Krempa <pkre...@redhat.com> Move the checks from 'qemuProcessStartValidateGraphics' to the correspodning graphics validation functions in qemu_validate.c:
- qemuValidateDomainDeviceDefSPICEGraphics - qemuValidateDomainDeviceDefVNCGraphics - qemuValidateDomainDeviceDefRDPGraphics Signed-off-by: Peter Krempa <pkre...@redhat.com> --- src/qemu/qemu_process.c | 10 ---------- src/qemu/qemu_validate.c | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 9fbb03ee8b..b99602c5ed 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5537,19 +5537,9 @@ qemuProcessStartValidateGraphics(virDomainObj *vm) switch (graphics->type) { case VIR_DOMAIN_GRAPHICS_TYPE_VNC: case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: - if (graphics->nListens > 1) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("QEMU does not support multiple listens for one graphics device.")); - return -1; - } break; case VIR_DOMAIN_GRAPHICS_TYPE_RDP: - if (graphics->nListens > 1) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("qemu-rdp does not support multiple listens for one graphics device.")); - return -1; - } if (graphics->data.rdp.multiUser) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("qemu-rdp doesn't support the 'multiUser' attribute.")); diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 0e7dd3fc58..1aa54bf59f 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -4425,6 +4425,12 @@ qemuValidateDomainDeviceDefSPICEGraphics(const virDomainGraphicsDef *graphics, virDomainGraphicsListenDef *glisten = NULL; int tlsPort = graphics->data.spice.tlsPort; + if (graphics->nListens > 1) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("QEMU does not support multiple listens for one graphics device.")); + return -1; + } + glisten = virDomainGraphicsGetListen((virDomainGraphicsDef *)graphics, 0); if (!glisten) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", @@ -4472,6 +4478,12 @@ static int qemuValidateDomainDeviceDefVNCGraphics(const virDomainGraphicsDef *graphics, virQEMUCaps *qemuCaps) { + if (graphics->nListens > 1) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("QEMU does not support multiple listens for one graphics device.")); + return -1; + } + if (graphics->data.vnc.powerControl != VIR_TRISTATE_BOOL_ABSENT && !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNC_POWER_CONTROL)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -4512,6 +4524,12 @@ qemuValidateDomainDeviceDefDBusGraphics(const virDomainGraphicsDef *graphics, static int qemuValidateDomainDeviceDefRDPGraphics(const virDomainGraphicsDef *graphics) { + if (graphics->nListens > 1) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("qemu-rdp does not support multiple listens for one graphics device.")); + return -1; + } + if (graphics->data.rdp.replaceUser) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("RDP doesn't support 'replaceUser'")); -- 2.49.0