[PATCH 1/2] qemu: checkpoint: Allow checkpoint redefine for offline VMs

Peter Krempa posted 2 patches 5 years, 10 months ago
[PATCH 1/2] qemu: checkpoint: Allow checkpoint redefine for offline VMs
Posted by Peter Krempa 5 years, 10 months ago
Skip the liveness and capability checks when redefining checkpoints as
we don't need qemu interactions to update the metadata.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_checkpoint.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/qemu/qemu_checkpoint.c b/src/qemu/qemu_checkpoint.c
index 3a510c9780..8340addf81 100644
--- a/src/qemu/qemu_checkpoint.c
+++ b/src/qemu/qemu_checkpoint.c
@@ -647,16 +647,18 @@ qemuCheckpointCreateXML(virDomainPtr domain,
         update_current = false;
     }

-    if (!virDomainObjIsActive(vm)) {
-        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
-                       _("cannot create checkpoint for inactive domain"));
-        return NULL;
-    }
+    if (!redefine) {
+        if (!virDomainObjIsActive(vm)) {
+            virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
+                           _("cannot create checkpoint for inactive domain"));
+            return NULL;
+        }

-    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_INCREMENTAL_BACKUP)) {
-        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
-                       _("incremental backup is not supported yet"));
-        return NULL;
+        if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_INCREMENTAL_BACKUP)) {
+            virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
+                           _("incremental backup is not supported yet"));
+            return NULL;
+        }
     }

     if (!(def = virDomainCheckpointDefParseString(xmlDesc, driver->xmlopt,
-- 
2.25.1

Re: [PATCH 1/2] qemu: checkpoint: Allow checkpoint redefine for offline VMs
Posted by Eric Blake 5 years, 10 months ago
On 4/1/20 8:10 AM, Peter Krempa wrote:
> Skip the liveness and capability checks when redefining checkpoints as
> we don't need qemu interactions to update the metadata.
> 
> Signed-off-by: Peter Krempa <pkrempa@redhat.com>
> ---
>   src/qemu/qemu_checkpoint.c | 20 +++++++++++---------
>   1 file changed, 11 insertions(+), 9 deletions(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org