[libvirt] [PATCH v2 20/25] qemu: Implement backup job APIs and qemu handling

Peter Krempa pkrempa at redhat.com
Mon Dec 9 14:16:03 UTC 2019


On Tue, Dec 03, 2019 at 18:17:42 +0100, Peter Krempa wrote:
> This allows to start and manage the backup job.
> 
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
>  po/POTFILES.in           |   1 +
>  src/qemu/Makefile.inc.am |   2 +
>  src/qemu/qemu_backup.c   | 941 +++++++++++++++++++++++++++++++++++++++
>  src/qemu/qemu_backup.h   |  41 ++
>  src/qemu/qemu_driver.c   |  47 ++
>  5 files changed, 1032 insertions(+)
>  create mode 100644 src/qemu/qemu_backup.c
>  create mode 100644 src/qemu/qemu_backup.h

Following diff is required when rebasing this on top of current master
due to changes in passing of virCaps:

diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c
index 3780eb1ea4..5954f90d5c 100644
--- a/src/qemu/qemu_backup.c
+++ b/src/qemu/qemu_backup.c
@@ -638,7 +638,6 @@ qemuBackupBegin(virDomainObjPtr vm,
     qemuDomainObjPrivatePtr priv = vm->privateData;
     g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(priv->driver);
     g_autoptr(virDomainBackupDef) def = NULL;
-    g_autoptr(virCaps) caps = NULL;
     g_autofree char *suffix = NULL;
     struct timeval tv;
     bool pull = false;
@@ -663,14 +662,11 @@ qemuBackupBegin(virDomainObjPtr vm,
         return -1;
     }

-    if (!(caps = virQEMUDriverGetCapabilities(priv->driver, false)))
-        return -1;
-
     if (!(def = virDomainBackupDefParseString(backupXML, priv->driver->xmlopt, 0)))
         return -1;

     if (checkpointXML) {
-        if (!(chkdef = virDomainCheckpointDefParseString(checkpointXML, caps,
+        if (!(chkdef = virDomainCheckpointDefParseString(checkpointXML,
                                                          priv->driver->xmlopt,
                                                          priv->qemuCaps, 0)))
             return -1;
@@ -724,7 +720,7 @@ qemuBackupBegin(virDomainObjPtr vm,
         goto endjob;

     if (chkdef) {
-        if (qemuCheckpointCreateCommon(priv->driver, vm, caps, &chkdef,
+        if (qemuCheckpointCreateCommon(priv->driver, vm, &chkdef,
                                        &actions, &chk) < 0)
             goto endjob;
     }




More information about the libvir-list mailing list