To make it easier to test, change libxlBuildDomainConfig so that it takes a virPortAllocatorPtr instead of the larger libxlDriverPrivatePtr object. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> --- src/libxl/libxl_conf.c | 12 ++++++------ src/libxl/libxl_conf.h | 4 ++-- src/libxl/libxl_domain.c | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index a98e27a..f9e3a1b 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -959,7 +959,7 @@ libxlMakeNicList(virDomainDefPtr def, libxl_domain_config *d_config) } int -libxlMakeVfb(libxlDriverPrivatePtr driver, +libxlMakeVfb(virPortAllocatorPtr graphicsports, virDomainGraphicsDefPtr l_vfb, libxl_device_vfb *x_vfb) { @@ -982,7 +982,7 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, libxl_defbool_set(&x_vfb->vnc.findunused, 0); if (l_vfb->data.vnc.autoport) { - if (virPortAllocatorAcquire(driver->reservedVNCPorts, &port) < 0) + if (virPortAllocatorAcquire(graphicsports, &port) < 0) return -1; l_vfb->data.vnc.port = port; } @@ -1004,7 +1004,7 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, } static int -libxlMakeVfbList(libxlDriverPrivatePtr driver, +libxlMakeVfbList(virPortAllocatorPtr graphicsports, virDomainDefPtr def, libxl_domain_config *d_config) { @@ -1027,7 +1027,7 @@ libxlMakeVfbList(libxlDriverPrivatePtr driver, for (i = 0; i < nvfbs; i++) { libxl_device_vkb_init(&x_vkbs[i]); - if (libxlMakeVfb(driver, l_vfbs[i], &x_vfbs[i]) < 0) + if (libxlMakeVfb(graphicsports, l_vfbs[i], &x_vfbs[i]) < 0) goto error; } @@ -1305,7 +1305,7 @@ libxlMakeCapabilities(libxl_ctx *ctx) } int -libxlBuildDomainConfig(libxlDriverPrivatePtr driver, +libxlBuildDomainConfig(virPortAllocatorPtr graphicsports, virDomainDefPtr def, libxl_ctx *ctx, libxl_domain_config *d_config) @@ -1324,7 +1324,7 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver, if (libxlMakeNicList(def, d_config) < 0) return -1; - if (libxlMakeVfbList(driver, def, d_config) < 0) + if (libxlMakeVfbList(graphicsports, def, d_config) < 0) return -1; if (libxlMakePCIList(def, d_config) < 0) diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h index 1dd9de3..2dcd0b8 100644 --- a/src/libxl/libxl_conf.h +++ b/src/libxl/libxl_conf.h @@ -152,14 +152,14 @@ libxlMakeNic(virDomainDefPtr def, virDomainNetDefPtr l_nic, libxl_device_nic *x_nic); int -libxlMakeVfb(libxlDriverPrivatePtr driver, +libxlMakeVfb(virPortAllocatorPtr graphicsports, virDomainGraphicsDefPtr l_vfb, libxl_device_vfb *x_vfb); int libxlMakePCI(virDomainHostdevDefPtr hostdev, libxl_device_pci *pcidev); int -libxlBuildDomainConfig(libxlDriverPrivatePtr driver, +libxlBuildDomainConfig(virPortAllocatorPtr graphicsports, virDomainDefPtr def, libxl_ctx *ctx, libxl_domain_config *d_config); diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index f95f8ce..e00a3fb 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -1151,7 +1151,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm, libxl_domain_config_init(&d_config); - if (libxlBuildDomainConfig(driver, vm->def, + if (libxlBuildDomainConfig(driver->reservedVNCPorts, vm->def, priv->ctx, &d_config) < 0) goto endjob; -- 1.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list