
Daniel P. Berrange wrote:
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@redhat.com> --- 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(-)
ACK. Regards, Jim
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;