]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: backup: Move capability check after inactive check
authorPeter Krempa <pkrempa@redhat.com>
Mon, 6 Jan 2020 11:27:40 +0000 (12:27 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 8 Jan 2020 06:10:46 +0000 (07:10 +0100)
Inactive VM doesn't have qemuCaps set thus we'd never properly report
that VM backups are supported only for running VMs.

Move the capability check after the active check.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
src/qemu/qemu_backup.c

index e7358082d595b6846cb1a7d1b02b5b509644edad..c47de2f4a80410516a5fa70d80eb026ff2579cab 100644 (file)
@@ -750,12 +750,6 @@ qemuBackupBegin(virDomainObjPtr vm,
 
     virCheckFlags(VIR_DOMAIN_BACKUP_BEGIN_REUSE_EXTERNAL, -1);
 
-    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_INCREMENTAL_BACKUP)) {
-        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
-                       _("incremental backup is not supported yet"));
-        return -1;
-    }
-
     if (!(def = virDomainBackupDefParseString(backupXML, priv->driver->xmlopt, 0)))
         return -1;
 
@@ -793,6 +787,12 @@ qemuBackupBegin(virDomainObjPtr vm,
         goto endjob;
     }
 
+    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_INCREMENTAL_BACKUP)) {
+        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
+                       _("incremental backup is not supported yet"));
+        goto endjob;
+    }
+
     if (priv->backup) {
         virReportError(VIR_ERR_OPERATION_INVALID, "%s",
                        _("another backup job is already running"));