[libvirt] [PATCH 2/4] qemu: migration: Refactor cleanup in qemuMigrationSrcNBDStorageCopyDriveMirror

Peter Krempa pkrempa at redhat.com
Wed Sep 4 15:39:26 UTC 2019


Use VIR_AUTOFREE and remove the cleanup label.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_migration.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 1a557851bb..82625b2261 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -868,36 +868,31 @@ qemuMigrationSrcNBDStorageCopyDriveMirror(virQEMUDriverPtr driver,
                                           unsigned long long mirror_speed,
                                           bool mirror_shallow)
 {
-    char *nbd_dest = NULL;
+    VIR_AUTOFREE(char *) nbd_dest = NULL;
     int mon_ret;
-    int ret = -1;

     if (strchr(host, ':')) {
         if (virAsprintf(&nbd_dest, "nbd:[%s]:%d:exportname=%s",
                         host, port, diskAlias) < 0)
-            goto cleanup;
+            return -1;
     } else {
         if (virAsprintf(&nbd_dest, "nbd:%s:%d:exportname=%s",
                         host, port, diskAlias) < 0)
-            goto cleanup;
+            return -1;
     }

     if (qemuDomainObjEnterMonitorAsync(driver, vm,
                                        QEMU_ASYNC_JOB_MIGRATION_OUT) < 0)
-        goto cleanup;
+        return -1;

     mon_ret = qemuMonitorDriveMirror(qemuDomainGetMonitor(vm),
                                      diskAlias, nbd_dest, "raw",
                                      mirror_speed, 0, 0, mirror_shallow, true);

     if (qemuDomainObjExitMonitor(driver, vm) < 0 || mon_ret < 0)
-        goto cleanup;
-
-    ret = 0;
+        return -1;

- cleanup:
-    VIR_FREE(nbd_dest);
-    return ret;
+    return 0;
 }


-- 
2.21.0




More information about the libvir-list mailing list