Daniel P. Berrange wrote: > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > > Make the domain define/undefine driver methods directly call > into either the XenD or XM drivers > > Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> > --- > src/xen/xen_driver.c | 24 ++++++++---------------- > src/xen/xen_driver.h | 2 -- > src/xen/xend_internal.c | 10 ---------- > src/xen/xm_internal.c | 5 ----- > 4 files changed, 8 insertions(+), 33 deletions(-) > ACK. Regards, Jim > diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c > index f6c1891..6643a97 100644 > --- a/src/xen/xen_driver.c > +++ b/src/xen/xen_driver.c > @@ -1369,31 +1369,23 @@ static virDomainPtr > xenUnifiedDomainDefineXML(virConnectPtr conn, const char *xml) > { > xenUnifiedPrivatePtr priv = conn->privateData; > - int i; > - virDomainPtr ret; > - > - for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i) > - if (priv->opened[i] && drivers[i]->xenDomainDefineXML) { > - ret = drivers[i]->xenDomainDefineXML(conn, xml); > - if (ret) return ret; > - } > > - return NULL; > + if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) > + return xenXMDomainDefineXML(conn, xml); > + else > + return xenDaemonDomainDefineXML(conn, xml); > } > > static int > xenUnifiedDomainUndefineFlags(virDomainPtr dom, unsigned int flags) > { > xenUnifiedPrivatePtr priv = dom->conn->privateData; > - int i; > > virCheckFlags(0, -1); > - for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i) > - if (priv->opened[i] && drivers[i]->xenDomainUndefine && > - drivers[i]->xenDomainUndefine(dom) == 0) > - return 0; > - > - return -1; > + if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) > + return xenXMDomainUndefine(dom); > + else > + return xenDaemonDomainUndefine(dom); > } > > static int > diff --git a/src/xen/xen_driver.h b/src/xen/xen_driver.h > index e2c0d68..254c2f5 100644 > --- a/src/xen/xen_driver.h > +++ b/src/xen/xen_driver.h > @@ -93,8 +93,6 @@ extern int xenRegister (void); > * structure with direct calls in xen_unified.c. > */ > struct xenUnifiedDriver { > - virDrvDomainDefineXML xenDomainDefineXML; > - virDrvDomainUndefine xenDomainUndefine; > virDrvDomainAttachDeviceFlags xenDomainAttachDeviceFlags; > virDrvDomainDetachDeviceFlags xenDomainDetachDeviceFlags; > virDrvDomainGetSchedulerType xenDomainGetSchedulerType; > diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c > index dcd31de..f9b43b8 100644 > --- a/src/xen/xend_internal.c > +++ b/src/xen/xend_internal.c > @@ -2860,9 +2860,6 @@ xenDaemonDomainDefineXML(virConnectPtr conn, const char *xmlDesc) > xenUnifiedPrivatePtr priv = conn->privateData; > virDomainDefPtr def; > > - if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) > - return NULL; > - > if (!(def = virDomainDefParseString(xmlDesc, priv->caps, priv->xmlopt, > 1 << VIR_DOMAIN_VIRT_XEN, > VIR_DOMAIN_XML_INACTIVE))) { > @@ -2905,11 +2902,6 @@ xenDaemonDomainCreate(virDomainPtr domain) > int > xenDaemonDomainUndefine(virDomainPtr domain) > { > - xenUnifiedPrivatePtr priv = domain->conn->privateData; > - > - if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) > - return -1; > - > return xend_op(domain->conn, domain->name, "op", "delete", NULL); > } > > @@ -3361,8 +3353,6 @@ xenDaemonDomainBlockPeek(virDomainPtr domain, > } > > struct xenUnifiedDriver xenDaemonDriver = { > - .xenDomainDefineXML = xenDaemonDomainDefineXML, > - .xenDomainUndefine = xenDaemonDomainUndefine, > .xenDomainAttachDeviceFlags = xenDaemonAttachDeviceFlags, > .xenDomainDetachDeviceFlags = xenDaemonDetachDeviceFlags, > .xenDomainGetSchedulerType = xenDaemonGetSchedulerType, > diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c > index 505f959..bb79c63 100644 > --- a/src/xen/xm_internal.c > +++ b/src/xen/xm_internal.c > @@ -81,8 +81,6 @@ static int xenXMDomainDetachDeviceFlags(virDomainPtr domain, const char *xml, > #define XM_XML_ERROR "Invalid xml" > > struct xenUnifiedDriver xenXMDriver = { > - .xenDomainDefineXML = xenXMDomainDefineXML, > - .xenDomainUndefine = xenXMDomainUndefine, > .xenDomainAttachDeviceFlags = xenXMDomainAttachDeviceFlags, > .xenDomainDetachDeviceFlags = xenXMDomainDetachDeviceFlags, > }; > @@ -1108,9 +1106,6 @@ xenXMDomainUndefine(virDomainPtr domain) > xenXMConfCachePtr entry; > int ret = -1; > > - if (domain->id != -1) > - return -1; > - > xenUnifiedLock(priv); > > if (!(filename = virHashLookup(priv->nameConfigMap, domain->name))) > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list