On 01/11/2013 05:13 AM, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange(a)redhat.com>
Replace the current QEMU driver code for managing port
reservations with the new virPortAllocator APIs.
---
src/qemu/qemu_conf.h | 4 +-
src/qemu/qemu_driver.c | 9 ++--
src/qemu/qemu_process.c | 100 ++++++++------------------------------------
src/util/virportallocator.c | 3 +-
4 files changed, 27 insertions(+), 89 deletions(-)
Nice reduction in size by reusing common code.
+++ b/src/util/virportallocator.c
@@ -103,7 +103,7 @@ int virPortAllocatorAcquire(virPortAllocatorPtr pa,
*port = 0;
virObjectLock(pa);
- for (i = pa->start ; i < pa->end && fd == -1; i++) {
+ for (i = pa->start ; i < pa->end && !*port; i++) {
int reuse = 1;
struct sockaddr_in addr;
bool used = false;
@@ -150,6 +150,7 @@ int virPortAllocatorAcquire(virPortAllocatorPtr pa,
_("Failed to reserve port %d"), i);
goto cleanup;
}
+ *port = i;
}
}
These two hunks should be squashed into 5/7. ACK with that change.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org