]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Add a name to virPortAllocator
authorJán Tomko <jtomko@redhat.com>
Thu, 31 Oct 2013 11:46:28 +0000 (12:46 +0100)
committerJán Tomko <jtomko@redhat.com>
Mon, 18 Nov 2013 11:28:02 +0000 (12:28 +0100)
This allows its error messages to be more specific.

src/libxl/libxl_driver.c
src/qemu/qemu_driver.c
src/util/virportallocator.c
src/util/virportallocator.h
tests/virportallocatortest.c

index f1e500ff2002d59ebfd626f412793dc4a35f41c4..7a75a04cc460f9da9311a5ce0db9e0b7d7bf7ff2 100644 (file)
@@ -844,7 +844,8 @@ libxlStateInitialize(bool privileged,
 
     /* Allocate bitmap for vnc port reservation */
     if (!(libxl_driver->reservedVNCPorts =
-          virPortAllocatorNew(LIBXL_VNC_PORT_MIN,
+          virPortAllocatorNew(_("VNC"),
+                              LIBXL_VNC_PORT_MIN,
                               LIBXL_VNC_PORT_MAX)))
         goto error;
 
index ef1359c4c2c2a03c4386cd296365ed4d26ccc188..378b542bfe2c47d0cdbdf7de5befbf8901addb68 100644 (file)
@@ -678,17 +678,20 @@ qemuStateInitialize(bool privileged,
      * do this before the config is loaded properly, since the port
      * numbers are configurable now */
     if ((qemu_driver->remotePorts =
-         virPortAllocatorNew(cfg->remotePortMin,
+         virPortAllocatorNew(_("display"),
+                             cfg->remotePortMin,
                              cfg->remotePortMax)) == NULL)
         goto error;
 
     if ((qemu_driver->webSocketPorts =
-         virPortAllocatorNew(cfg->webSocketPortMin,
+         virPortAllocatorNew(_("webSocket"),
+                             cfg->webSocketPortMin,
                              cfg->webSocketPortMax)) == NULL)
         goto error;
 
     if ((qemu_driver->migrationPorts =
-         virPortAllocatorNew(cfg->migrationPortMin,
+         virPortAllocatorNew(_("migration"),
+                             cfg->migrationPortMin,
                              cfg->migrationPortMax)) == NULL)
         goto error;
 
index 5b7ad41e82d61e9c560b1ce1e2319a61299999b4..e653e8c9207bfa4ddd09b1ee76cf668be3057fe3 100644 (file)
@@ -31,6 +31,7 @@
 #include "virthread.h"
 #include "virerror.h"
 #include "virfile.h"
+#include "virstring.h"
 
 #define VIR_FROM_THIS VIR_FROM_NONE
 
@@ -38,6 +39,8 @@ struct _virPortAllocator {
     virObjectLockable parent;
     virBitmapPtr bitmap;
 
+    char *name;
+
     unsigned short start;
     unsigned short end;
 };
@@ -50,6 +53,7 @@ virPortAllocatorDispose(void *obj)
     virPortAllocatorPtr pa = obj;
 
     virBitmapFree(pa->bitmap);
+    VIR_FREE(pa->name);
 }
 
 static int virPortAllocatorOnceInit(void)
@@ -65,7 +69,8 @@ static int virPortAllocatorOnceInit(void)
 
 VIR_ONCE_GLOBAL_INIT(virPortAllocator)
 
-virPortAllocatorPtr virPortAllocatorNew(unsigned short start,
+virPortAllocatorPtr virPortAllocatorNew(const char *name,
+                                        unsigned short start,
                                         unsigned short end)
 {
     virPortAllocatorPtr pa;
@@ -85,7 +90,8 @@ virPortAllocatorPtr virPortAllocatorNew(unsigned short start,
     pa->start = start;
     pa->end = end;
 
-    if (!(pa->bitmap = virBitmapNew((end-start)+1))) {
+    if (!(pa->bitmap = virBitmapNew((end-start)+1)) ||
+        VIR_STRDUP(pa->name, name) < 0) {
         virObjectUnref(pa);
         return NULL;
     }
index a5e68f7c44761887874b091d9e156901ee312632..c8aa6deffd265341c2d001a89f56dd284709826f 100644 (file)
@@ -28,7 +28,8 @@
 typedef struct _virPortAllocator virPortAllocator;
 typedef virPortAllocator *virPortAllocatorPtr;
 
-virPortAllocatorPtr virPortAllocatorNew(unsigned short start,
+virPortAllocatorPtr virPortAllocatorNew(const char *name,
+                                        unsigned short start,
                                         unsigned short end);
 
 int virPortAllocatorAcquire(virPortAllocatorPtr pa,
index 4d0518a8b8f6bd9ee816e5ad3cd323344ebac729..33de78204c960d370f428a465a0f7901ace8af7c 100644 (file)
@@ -63,7 +63,7 @@ int bind(int sockfd ATTRIBUTE_UNUSED,
 
 static int testAllocAll(const void *args ATTRIBUTE_UNUSED)
 {
-    virPortAllocatorPtr alloc = virPortAllocatorNew(5900, 5909);
+    virPortAllocatorPtr alloc = virPortAllocatorNew("test", 5900, 5909);
     int ret = -1;
     unsigned short p1, p2, p3, p4, p5, p6, p7;
 
@@ -136,7 +136,7 @@ cleanup:
 
 static int testAllocReuse(const void *args ATTRIBUTE_UNUSED)
 {
-    virPortAllocatorPtr alloc = virPortAllocatorNew(5900, 5910);
+    virPortAllocatorPtr alloc = virPortAllocatorNew("test", 5900, 5910);
     int ret = -1;
     unsigned short p1, p2, p3, p4;