This reverts commit 1ccc7fbff34ea44e5b0cf01a359d127a4c62a695.
We cannot check ports if autoport is set because we set ports to 0 while
parsing device XML.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1336134
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
src/qemu/qemu_hotplug.c | 13 ++++++++-----
.../qemuhotplug-graphics-spice-listen-network.xml | 2 +-
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index f40b34d..07b419d 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -2666,8 +2666,9 @@ qemuDomainChangeGraphics(virQEMUDriverPtr driver,
switch (dev->type) {
case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
- if (olddev->data.vnc.autoport != dev->data.vnc.autoport ||
- olddev->data.vnc.port != dev->data.vnc.port) {
+ if ((olddev->data.vnc.autoport != dev->data.vnc.autoport) ||
+ (!dev->data.vnc.autoport &&
+ (olddev->data.vnc.port != dev->data.vnc.port))) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("cannot change port settings on vnc graphics"));
goto cleanup;
@@ -2709,9 +2710,11 @@ qemuDomainChangeGraphics(virQEMUDriverPtr driver,
break;
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
- if (olddev->data.spice.autoport != dev->data.spice.autoport ||
- olddev->data.spice.port != dev->data.spice.port ||
- olddev->data.spice.tlsPort != dev->data.spice.tlsPort) {
+ if ((olddev->data.spice.autoport != dev->data.spice.autoport) ||
+ (!dev->data.spice.autoport &&
+ (olddev->data.spice.port != dev->data.spice.port)) ||
+ (!dev->data.spice.autoport &&
+ (olddev->data.spice.tlsPort != dev->data.spice.tlsPort))) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("cannot change port settings on spice
graphics"));
goto cleanup;
diff --git a/tests/qemuhotplugtestdata/qemuhotplug-graphics-spice-listen-network.xml
b/tests/qemuhotplugtestdata/qemuhotplug-graphics-spice-listen-network.xml
index f2a6aeb..426a14d 100644
--- a/tests/qemuhotplugtestdata/qemuhotplug-graphics-spice-listen-network.xml
+++ b/tests/qemuhotplugtestdata/qemuhotplug-graphics-spice-listen-network.xml
@@ -1,4 +1,4 @@
- <graphics autoport='yes' connected='disconnect'
keymap='en-us' passwd='password2'
passwdValidTo='2013-06-20T01:34:37' type='spice'>
+ <graphics autoport='yes' connected='disconnect'
keymap='en-us' passwd='password2'
passwdValidTo='2013-06-20T01:34:37' port='5900' tlsPort='5901'
type='spice'>
<listen address='10.65.210.231' network='vdsm-rhevm'
type='network'/>
<channel mode='secure' name='main'/>
<channel mode='secure' name='display'/>
--
2.8.2