提交 a6abdbf6 编写于 作者: D Daniel P. Berrange

libxl: Don't pass libxlDriverPrivatePtr into libxlBuildDomainConfig

To make it easier to test, change libxlBuildDomainConfig so
that it takes a virPortAllocatorPtr instead of the larger
libxlDriverPrivatePtr object.
Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
上级 5da28f24
...@@ -959,7 +959,7 @@ libxlMakeNicList(virDomainDefPtr def, libxl_domain_config *d_config) ...@@ -959,7 +959,7 @@ libxlMakeNicList(virDomainDefPtr def, libxl_domain_config *d_config)
} }
int int
libxlMakeVfb(libxlDriverPrivatePtr driver, libxlMakeVfb(virPortAllocatorPtr graphicsports,
virDomainGraphicsDefPtr l_vfb, virDomainGraphicsDefPtr l_vfb,
libxl_device_vfb *x_vfb) libxl_device_vfb *x_vfb)
{ {
...@@ -982,7 +982,7 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, ...@@ -982,7 +982,7 @@ libxlMakeVfb(libxlDriverPrivatePtr driver,
libxl_defbool_set(&x_vfb->vnc.findunused, 0); libxl_defbool_set(&x_vfb->vnc.findunused, 0);
if (l_vfb->data.vnc.autoport) { if (l_vfb->data.vnc.autoport) {
if (virPortAllocatorAcquire(driver->reservedVNCPorts, &port) < 0) if (virPortAllocatorAcquire(graphicsports, &port) < 0)
return -1; return -1;
l_vfb->data.vnc.port = port; l_vfb->data.vnc.port = port;
} }
...@@ -1004,7 +1004,7 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, ...@@ -1004,7 +1004,7 @@ libxlMakeVfb(libxlDriverPrivatePtr driver,
} }
static int static int
libxlMakeVfbList(libxlDriverPrivatePtr driver, libxlMakeVfbList(virPortAllocatorPtr graphicsports,
virDomainDefPtr def, virDomainDefPtr def,
libxl_domain_config *d_config) libxl_domain_config *d_config)
{ {
...@@ -1027,7 +1027,7 @@ libxlMakeVfbList(libxlDriverPrivatePtr driver, ...@@ -1027,7 +1027,7 @@ libxlMakeVfbList(libxlDriverPrivatePtr driver,
for (i = 0; i < nvfbs; i++) { for (i = 0; i < nvfbs; i++) {
libxl_device_vkb_init(&x_vkbs[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; goto error;
} }
...@@ -1305,7 +1305,7 @@ libxlMakeCapabilities(libxl_ctx *ctx) ...@@ -1305,7 +1305,7 @@ libxlMakeCapabilities(libxl_ctx *ctx)
} }
int int
libxlBuildDomainConfig(libxlDriverPrivatePtr driver, libxlBuildDomainConfig(virPortAllocatorPtr graphicsports,
virDomainDefPtr def, virDomainDefPtr def,
libxl_ctx *ctx, libxl_ctx *ctx,
libxl_domain_config *d_config) libxl_domain_config *d_config)
...@@ -1324,7 +1324,7 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver, ...@@ -1324,7 +1324,7 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
if (libxlMakeNicList(def, d_config) < 0) if (libxlMakeNicList(def, d_config) < 0)
return -1; return -1;
if (libxlMakeVfbList(driver, def, d_config) < 0) if (libxlMakeVfbList(graphicsports, def, d_config) < 0)
return -1; return -1;
if (libxlMakePCIList(def, d_config) < 0) if (libxlMakePCIList(def, d_config) < 0)
......
...@@ -152,14 +152,14 @@ libxlMakeNic(virDomainDefPtr def, ...@@ -152,14 +152,14 @@ libxlMakeNic(virDomainDefPtr def,
virDomainNetDefPtr l_nic, virDomainNetDefPtr l_nic,
libxl_device_nic *x_nic); libxl_device_nic *x_nic);
int int
libxlMakeVfb(libxlDriverPrivatePtr driver, libxlMakeVfb(virPortAllocatorPtr graphicsports,
virDomainGraphicsDefPtr l_vfb, libxl_device_vfb *x_vfb); virDomainGraphicsDefPtr l_vfb, libxl_device_vfb *x_vfb);
int int
libxlMakePCI(virDomainHostdevDefPtr hostdev, libxl_device_pci *pcidev); libxlMakePCI(virDomainHostdevDefPtr hostdev, libxl_device_pci *pcidev);
int int
libxlBuildDomainConfig(libxlDriverPrivatePtr driver, libxlBuildDomainConfig(virPortAllocatorPtr graphicsports,
virDomainDefPtr def, virDomainDefPtr def,
libxl_ctx *ctx, libxl_ctx *ctx,
libxl_domain_config *d_config); libxl_domain_config *d_config);
......
...@@ -1151,7 +1151,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm, ...@@ -1151,7 +1151,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
libxl_domain_config_init(&d_config); libxl_domain_config_init(&d_config);
if (libxlBuildDomainConfig(driver, vm->def, if (libxlBuildDomainConfig(driver->reservedVNCPorts, vm->def,
priv->ctx, &d_config) < 0) priv->ctx, &d_config) < 0)
goto endjob; goto endjob;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册