On Wed, Nov 13, 2013 at 05:48:28PM +0100, Ján Tomko wrote:
On 11/13/2013 05:39 PM, Daniel P. Berrange wrote:
> On Thu, Oct 31, 2013 at 01:07:27PM +0100, Ján Tomko wrote:
>> Report the error in virPortAllocatorAcquire instead
>> of doing it in every caller.
>>
>> The error contains the port range name instead of the intended
>> use for the port, e.g.:
>> Unable to find an unused port in range 'display' (65534-65535)
>> instead of:
>> Unable to find an unused port for SPICE
>>
>> This also adds error reporting when the QEMU driver could not
>> find an unused port for VNC, VNC WebSockets or NBD migration.
>> ---
>> src/libxl/libxl_conf.c | 5 -----
>> src/qemu/qemu_migration.c | 16 ++--------------
>> src/qemu/qemu_process.c | 12 ------------
>> src/util/virportallocator.c | 7 ++++++-
>> tests/virportallocatortest.c | 6 ++----
>> 5 files changed, 10 insertions(+), 36 deletions(-)
>>
>> diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
>> index bdffdf8..daf081d 100644
>> --- a/src/qemu/qemu_process.c
>> +++ b/src/qemu/qemu_process.c
>> @@ -3406,12 +3406,6 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver,
>> if (virPortAllocatorAcquire(driver->remotePorts, &port) < 0)
>> goto error;
>>
>> - if (port == 0) {
>> - virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> - _("Unable to find an unused port for
SPICE"));
>> - goto error;
>> - }
>> -
>> graphics->data.spice.port = port;
>> }
>>
>> @@ -3437,12 +3431,6 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver,
>> if (virPortAllocatorAcquire(driver->remotePorts, &tlsPort)
< 0)
>> goto error;
>>
>> - if (tlsPort == 0) {
>> - virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> - _("Unable to find an unused port for SPICE
TLS"));
>> - virPortAllocatorRelease(driver->remotePorts, port);
>> - goto error;
>> - }
>
> Opps, you're loosing the release of 'port' when tlsPort allocation
fails.
> In fact there was already a broken codepath in this respect.
>
'port' is released on the error: label. Should I move the double-release
removal into a separate commit to make it more obvious?
Sure, sounds good.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|