]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_process: mark auto-generated spice ports as reserved
authorPavel Hrdina <phrdina@redhat.com>
Thu, 18 Feb 2016 17:27:13 +0000 (18:27 +0100)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 22 Feb 2016 13:34:45 +0000 (14:34 +0100)
In case you will specify graphics like this:

<graphics type='spice' port='-1'/>

or

<graphics type='spice' port='-1' tlsPort='6000'/>

libvirt will automatically add autoport='no'.  This leads to an issue
that in qemuProcessStop() we don't release that port because we are
releasing both port if autoport=yes or only port marked as reserved.

If autoport=no but we request to generate port via '-1' we need to mark
that port as reserved in order to release it.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1299696

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_process.c

index c5b9f4e6b2ba54199843c31bb6403f5b4190900d..e76018243897c0bd665b2175b39a65ee47ed00ae 100644 (file)
@@ -3688,6 +3688,9 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver,
             goto error;
 
         graphics->data.spice.port = port;
+
+        if (!graphics->data.spice.autoport)
+            graphics->data.spice.portReserved = true;
     }
 
     if (needTLSPort || graphics->data.spice.tlsPort == -1) {
@@ -3702,6 +3705,9 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver,
             goto error;
 
         graphics->data.spice.tlsPort = tlsPort;
+
+        if (!graphics->data.spice.autoport)
+            graphics->data.spice.tlsPortReserved = true;
     }
 
     return 0;