On Wed, May 08, 2013 at 03:56:14PM -0600, Jim Fehlig wrote: > Daniel P. Berrange wrote: > > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > > > > The xenUnifiedDomainGetXMLDesc driver can assume that > > the XM and XenD drivers are always present > > > > Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> > > --- > > src/xen/xen_driver.c | 24 +++++++++--------------- > > src/xen/xend_internal.c | 6 ------ > > 2 files changed, 9 insertions(+), 21 deletions(-) > > > > diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c > > index 1db831d..f11e5bf 100644 > > --- a/src/xen/xen_driver.c > > +++ b/src/xen/xen_driver.c > > @@ -1106,23 +1106,17 @@ xenUnifiedDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) > > { > > xenUnifiedPrivatePtr priv = dom->conn->privateData; > > > > - if (dom->id == -1 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) { > > - if (priv->opened[XEN_UNIFIED_XM_OFFSET]) > > - return xenXMDomainGetXMLDesc(dom, flags); > > + if (dom->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) { > > + return xenXMDomainGetXMLDesc(dom, flags); > > } else { > > - if (priv->opened[XEN_UNIFIED_XEND_OFFSET]) { > > - char *cpus, *res; > > - xenUnifiedLock(priv); > > - cpus = xenDomainUsedCpus(dom); > > - xenUnifiedUnlock(priv); > > - res = xenDaemonDomainGetXMLDesc(dom, flags, cpus); > > - VIR_FREE(cpus); > > - return res; > > - } > > + char *cpus, *res; > > + xenUnifiedLock(priv); > > + cpus = xenDomainUsedCpus(dom); > > + xenUnifiedUnlock(priv); > > + res = xenDaemonDomainGetXMLDesc(dom, flags, cpus); > > + VIR_FREE(cpus); > > + return res; > > } > > - > > - virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__); > > - return NULL; > > } > > > > > > diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c > > index dbad83f..930b882 100644 > > --- a/src/xen/xend_internal.c > > +++ b/src/xen/xend_internal.c > > @@ -1610,17 +1610,11 @@ xenDaemonDomainGetXMLDesc(virDomainPtr domain, > > unsigned int flags, > > const char *cpus) > > { > > - xenUnifiedPrivatePtr priv = domain->conn->privateData; > > virDomainDefPtr def; > > char *xml; > > > > /* Flags checked by virDomainDefFormat */ > > > > - if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) { > > - /* fall-through to the next driver to handle */ > > - return NULL; > > - } > > - > > > > This function has another caller, xenUnifiedDomainMigrateFinish, which > appears to only support xendConfigVersion > 3_0_4 anyhow. ACK to the > changes in this patch. The MigrateFinish API will always have a virDomainDefPtr which refers to a running domain, so this if() block would never be run when called from migration context. Hence it is safe to remove it. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list