[libvirt] [PATCH 2/6] port allocator: remove range on manual port reserving
Michal Privoznik
mprivozn at redhat.com
Mon Jan 29 06:09:49 UTC 2018
On 12/20/2017 07:35 AM, Nikolay Shirokovskiy wrote:
> Range check in virPortAllocatorSetUsed is not useful anymore
> when we manage ports for entire unsigned short range values.
> ---
> src/bhyve/bhyve_command.c | 4 +---
> src/bhyve/bhyve_process.c | 4 +---
> src/qemu/qemu_process.c | 41 +++++++++++------------------------------
> src/util/virportallocator.c | 9 +--------
> src/util/virportallocator.h | 4 +---
> 5 files changed, 15 insertions(+), 47 deletions(-)
>
> diff --git a/src/util/virportallocator.c b/src/util/virportallocator.c
> index cd64356..76346c7 100644
> --- a/src/util/virportallocator.c
> +++ b/src/util/virportallocator.c
> @@ -293,8 +293,7 @@ int virPortAllocatorRelease(virPortRangePtr range,
> return ret;
> }
>
> -int virPortAllocatorSetUsed(virPortRangePtr range,
> - unsigned short port,
> +int virPortAllocatorSetUsed(unsigned short port,
> bool value)
> {
> int ret = -1;
> @@ -305,12 +304,6 @@ int virPortAllocatorSetUsed(virPortRangePtr range,
>
> virObjectLock(pa);
>
> - if (port < range->start ||
> - port > range->end) {
> - ret = 0;
> - goto cleanup;
> - }
> -
1: ^^^
> if (value) {
> if (virBitmapIsBitSet(pa->bitmap, port) ||
> virBitmapSetBit(pa->bitmap, port) < 0) {
> diff --git a/src/util/virportallocator.h b/src/util/virportallocator.h
> index e9b9038..8511eca 100644
> --- a/src/util/virportallocator.h
> +++ b/src/util/virportallocator.h
> @@ -45,8 +45,6 @@ int virPortAllocatorAcquire(virPortRangePtr range,
> int virPortAllocatorRelease(virPortRangePtr range,
> unsigned short port);
>
> -int virPortAllocatorSetUsed(virPortRangePtr range,
> - unsigned short port,
> - bool value);
> +int virPortAllocatorSetUsed(unsigned short port, bool value);
I'm not a big fan of this. Since virPortRange (or whatever name you'll
give it) is going to have a pointer to virPortAllocator object I rather
leave this signature as is. The idea (hunk 1) makes sense though
Michal
More information about the libvir-list
mailing list