Re: [PATCH 02/12] qemuMonitorSetMigrationCapabilities: Take double pointer for @caps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/6/21 3:03 PM, Peter Krempa wrote:
This allows simplification of the callers.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
  src/qemu/qemu_migration_params.c | 13 ++++---------
  src/qemu/qemu_monitor.c          | 11 +++--------
  src/qemu/qemu_monitor.h          |  2 +-
  src/qemu/qemu_monitor_json.c     |  5 ++---
  src/qemu/qemu_monitor_json.h     |  2 +-
  tests/qemumonitorjsontest.c      |  3 +--
  6 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_params.c
index d1d59aeb01..8c019bf2ce 100644
--- a/src/qemu/qemu_migration_params.c
+++ b/src/qemu/qemu_migration_params.c
@@ -803,7 +803,6 @@ qemuMigrationParamsApply(virQEMUDriverPtr driver,
      g_autoptr(virJSONValue) caps = NULL;
      qemuMigrationParam xbzrle = QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE;
      int ret = -1;
-    int rc;

      if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
          return -1;
@@ -819,12 +818,9 @@ qemuMigrationParamsApply(virQEMUDriverPtr driver,
          if (!(caps = qemuMigrationCapsToJSON(priv->migrationCaps, migParams->caps)))
              goto cleanup;

-        if (virJSONValueArraySize(caps) > 0) {
-            rc = qemuMonitorSetMigrationCapabilities(priv->mon, caps);
-            caps = NULL;
-            if (rc < 0)
-                goto cleanup;
-        }
+        if (virJSONValueArraySize(caps) > 0 &&
+            qemuMonitorSetMigrationCapabilities(priv->mon, &caps) < 0)
+            goto cleanup;
      }

      /* If QEMU is too old to support xbzrle-cache-size migration parameter,
@@ -1389,8 +1385,7 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver,
          if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
              return -1;

-        rc = qemuMonitorSetMigrationCapabilities(priv->mon, json);
-        json = NULL;
+        rc = qemuMonitorSetMigrationCapabilities(priv->mon, &json);

          if (qemuDomainObjExitMonitor(driver, vm) < 0)
              return -1;
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index a81cd5fff5..8b1f90b363 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -3877,22 +3877,17 @@ qemuMonitorGetMigrationCapabilities(qemuMonitorPtr mon,
   * @mon: Pointer to the monitor object.
   * @caps: Migration capabilities.
   *
- * The @caps object is consumed and should not be referenced by the caller
- * after this function returns.
+ * The @caps object is consumed cleared.

Same here.

   *
   * Returns 0 on success, -1 on error.
   */
  int
  qemuMonitorSetMigrationCapabilities(qemuMonitorPtr mon,
-                                    virJSONValuePtr caps)
+                                    virJSONValuePtr *caps)
  {
-    QEMU_CHECK_MONITOR_GOTO(mon, error);
+    QEMU_CHECK_MONITOR(mon);

      return qemuMonitorJSONSetMigrationCapabilities(mon, caps);
-
- error:
-    virJSONValueFree(caps);
-    return -1;
  }


Michal




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux