
On Wed, May 08, 2013 at 03:56:14PM -0600, Jim Fehlig wrote:
Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
The xenUnifiedDomainGetXMLDesc driver can assume that the XM and XenD drivers are always present
Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- 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 :|