From: "Daniel P. Berrange" <berrange(a)redhat.com>
Unconditionally call the XenD APIs for save/restore, since that
driver will always be open.
Signed-off-by: Daniel P. Berrange <berrange(a)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