提交 1cca1d25 编写于 作者: J Jim Fehlig

libxl: remove unnecessary libxlDomainEventsRegister

This function now only enables domain death events.  Simply call
libxl_evenable_domain_death() instead of an unnecessary wrapper.
Signed-off-by: NJim Fehlig <jfehlig@suse.com>
上级 0b0a3d63
......@@ -757,30 +757,6 @@ libxlDomainCleanupJob(libxlDriverPrivatePtr driver,
return libxlDomainObjEndJob(driver, vm);
}
/*
* Register for domain events emitted by libxl.
*/
int
libxlDomainEventsRegister(libxlDriverPrivatePtr driver, virDomainObjPtr vm)
{
libxlDomainObjPrivatePtr priv = vm->privateData;
priv->driver = driver;
/* Always enable domain death events */
if (libxl_evenable_domain_death(priv->ctx, vm->def->id, 0, &priv->deathW))
goto error;
return 0;
error:
if (priv->deathW) {
libxl_evdisable_domain_death(priv->ctx, priv->deathW);
priv->deathW = NULL;
}
return -1;
}
/*
* Core dump domain to default dump path.
*
......@@ -1081,7 +1057,9 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
* be cleaned up if there are any subsequent failures.
*/
vm->def->id = domid;
if (libxlDomainEventsRegister(driver, vm) < 0)
/* Always enable domain death events */
if (libxl_evenable_domain_death(priv->ctx, vm->def->id, 0, &priv->deathW))
goto cleanup_dom;
if ((dom_xml = virDomainDefFormat(vm->def, 0)) == NULL)
......@@ -1121,6 +1099,10 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
goto endjob;
cleanup_dom:
if (priv->deathW) {
libxl_evdisable_domain_death(priv->ctx, priv->deathW);
priv->deathW = NULL;
}
libxl_domain_destroy(priv->ctx, domid, NULL);
vm->def->id = -1;
virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, VIR_DOMAIN_SHUTOFF_FAILED);
......
......@@ -68,7 +68,6 @@ struct _libxlDomainObjPrivate {
/* console */
virChrdevsPtr devs;
libxl_evgen_domain_death *deathW;
libxlDriverPrivatePtr driver;
unsigned short migrationPort;
struct libxlDomainJobObj job;
......@@ -133,10 +132,6 @@ void
libxlDomainEventHandler(void *data,
VIR_LIBXL_EVENT_CONST libxl_event *event);
int
libxlDomainEventsRegister(libxlDriverPrivatePtr driver,
virDomainObjPtr vm);
int
libxlDomainAutoCoreDump(libxlDriverPrivatePtr driver,
virDomainObjPtr vm);
......
......@@ -367,8 +367,9 @@ libxlReconnectDomain(virDomainObjPtr vm,
if (virAtomicIntInc(&driver->nactive) == 1 && driver->inhibitCallback)
driver->inhibitCallback(true, driver->inhibitOpaque);
/* Re-register domain death et. al. events */
libxlDomainEventsRegister(driver, vm);
/* Enable domain death events */
libxl_evenable_domain_death(priv->ctx, vm->def->id, 0, &priv->deathW);
virObjectUnlock(vm);
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册