This allows its error messages to be more specific.
/* 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;
* 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;
#include "virthread.h"
#include "virerror.h"
#include "virfile.h"
+#include "virstring.h"
#define VIR_FROM_THIS VIR_FROM_NONE
virObjectLockable parent;
virBitmapPtr bitmap;
+ char *name;
+
unsigned short start;
unsigned short end;
};
virPortAllocatorPtr pa = obj;
virBitmapFree(pa->bitmap);
+ VIR_FREE(pa->name);
}
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;
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;
}
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,
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;
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;