[libvirt] [PATCH 19/40] Simplify the Xen domain save/restore driver methods

Daniel P. Berrange berrange at redhat.com
Thu May 2 15:18:33 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

Unconditionally call the XenD APIs for save/restore, since that
driver will always be open.

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 src/xen/xen_driver.c    | 21 ++++-----------------
 src/xen/xend_internal.c |  2 ++
 2 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 988dbce..a963e08 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -876,8 +876,6 @@ static int
 xenUnifiedDomainSaveFlags(virDomainPtr dom, const char *to, const char *dxml,
                           unsigned int flags)
 {
-    xenUnifiedPrivatePtr priv = dom->conn->privateData;
-
     virCheckFlags(0, -1);
     if (dxml) {
         virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
@@ -885,9 +883,7 @@ xenUnifiedDomainSaveFlags(virDomainPtr dom, const char *to, const char *dxml,
         return -1;
     }
 
-    if (priv->opened[XEN_UNIFIED_XEND_OFFSET])
-        return xenDaemonDomainSave(dom, to);
-    return -1;
+    return xenDaemonDomainSave(dom, to);
 }
 
 static int
@@ -923,8 +919,7 @@ xenUnifiedDomainManagedSave(virDomainPtr dom, unsigned int flags)
     if (!name)
         goto cleanup;
 
-    if (priv->opened[XEN_UNIFIED_XEND_OFFSET])
-        ret = xenDaemonDomainSave(dom, name);
+    ret = xenDaemonDomainSave(dom, name);
 
 cleanup:
     VIR_FREE(name);
@@ -971,8 +966,6 @@ static int
 xenUnifiedDomainRestoreFlags(virConnectPtr conn, const char *from,
                              const char *dxml, unsigned int flags)
 {
-    xenUnifiedPrivatePtr priv = conn->privateData;
-
     virCheckFlags(0, -1);
     if (dxml) {
         virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
@@ -980,9 +973,7 @@ xenUnifiedDomainRestoreFlags(virConnectPtr conn, const char *from,
         return -1;
     }
 
-    if (priv->opened[XEN_UNIFIED_XEND_OFFSET])
-        return xenDaemonDomainRestore(conn, from);
-    return -1;
+    return xenDaemonDomainRestore(conn, from);
 }
 
 static int
@@ -994,11 +985,7 @@ xenUnifiedDomainRestore(virConnectPtr conn, const char *from)
 static int
 xenUnifiedDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
 {
-    xenUnifiedPrivatePtr priv = dom->conn->privateData;
-
-    if (priv->opened[XEN_UNIFIED_XEND_OFFSET])
-        return xenDaemonDomainCoreDump(dom, to, flags);
-    return -1;
+    return xenDaemonDomainCoreDump(dom, to, flags);
 }
 
 static int
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index d6a3698..ccbbf66 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -1422,6 +1422,8 @@ xenDaemonDomainSave(virDomainPtr domain, const char *filename)
 
     /* We can't save the state of Domain-0, that would mean stopping it too */
     if (domain->id == 0) {
+        virReportError(VIR_ERR_INVALID_ARG, "%s",
+                       _("Cannot save host domain"));
         return -1;
     }
 
-- 
1.8.1.4




More information about the libvir-list mailing list