]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: block: Introduce and use AUTOPTR func for qemuBlockStorageSourceAttachDataPtr
authorPeter Krempa <pkrempa@redhat.com>
Thu, 4 Apr 2019 08:46:21 +0000 (10:46 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 10 Apr 2019 14:34:57 +0000 (16:34 +0200)
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_block.c
src/qemu/qemu_block.h
src/qemu/qemu_command.c
src/qemu/qemu_hotplug.c
src/qemu/qemu_migration.c

index cbf0aa418974c22141f0e0407fe2edb9dce15893..7961d3197895388962325d1f969105accec5d792 100644 (file)
@@ -1543,7 +1543,7 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data)
 qemuBlockStorageSourceAttachDataPtr
 qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src)
 {
-    qemuBlockStorageSourceAttachDataPtr data;
+    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
     qemuBlockStorageSourceAttachDataPtr ret = NULL;
 
     if (VIR_ALLOC(data) < 0)
@@ -1559,7 +1559,6 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src)
     VIR_STEAL_PTR(ret, data);
 
  cleanup:
-    qemuBlockStorageSourceAttachDataFree(data);
     return ret;
 }
 
index 9401ab4e12b286341cb12f3ad6609efb1c90e87f..eab8da8e2ca819690dc2de0bee3ab156e429eebb 100644 (file)
@@ -102,6 +102,9 @@ struct qemuBlockStorageSourceAttachData {
 void
 qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data);
 
+VIR_DEFINE_AUTOPTR_FUNC(qemuBlockStorageSourceAttachData,
+                        qemuBlockStorageSourceAttachDataFree);
+
 qemuBlockStorageSourceAttachDataPtr
 qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src);
 
index 79b9a5d4f9ba2da935e54278a043f7609c63dfd4..a3e845a848b189e50c876fca5c5b10c612eca597 100644 (file)
@@ -2554,7 +2554,7 @@ qemuBuildDiskSourceCommandLine(virCommandPtr cmd,
 {
     qemuBlockStorageSourceAttachDataPtr *data = NULL;
     size_t ndata = 0;
-    qemuBlockStorageSourceAttachDataPtr tmp = NULL;
+    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) tmp = NULL;
     virJSONValuePtr copyOnReadProps = NULL;
     virStorageSourcePtr n;
     char *str = NULL;
@@ -2613,7 +2613,6 @@ qemuBuildDiskSourceCommandLine(virCommandPtr cmd,
     for (i = 0; i < ndata; i++)
         qemuBlockStorageSourceAttachDataFree(data[i]);
     VIR_FREE(data);
-    qemuBlockStorageSourceAttachDataFree(tmp);
     virJSONValueFree(copyOnReadProps);
     VIR_FREE(str);
     return ret;
@@ -11162,18 +11161,19 @@ qemuBlockStorageSourceAttachDataPtr
 qemuBuildStorageSourceAttachPrepareDrive(virDomainDiskDefPtr disk,
                                          virQEMUCapsPtr qemuCaps)
 {
-    qemuBlockStorageSourceAttachDataPtr data = NULL;
+    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
+    qemuBlockStorageSourceAttachDataPtr ret = NULL;
 
     if (VIR_ALLOC(data) < 0)
         return NULL;
 
     if (!(data->driveCmd = qemuBuildDriveStr(disk, qemuCaps)) ||
-        !(data->driveAlias = qemuAliasDiskDriveFromDisk(disk))) {
-        qemuBlockStorageSourceAttachDataFree(data);
+        !(data->driveAlias = qemuAliasDiskDriveFromDisk(disk)))
         return NULL;
-    }
 
-    return data;
+    VIR_STEAL_PTR(ret, data);
+
+    return ret;
 }
 
 
index 540befba6805d9ccfb4c9ef0e545d19f651eb087..ef14b1977cea4cc2fb2f27bf318daac3db30cbeb 100644 (file)
@@ -531,7 +531,7 @@ qemuHotplugRemoveStorageSourcePrepareData(virStorageSourcePtr src,
 
 {
     qemuDomainStorageSourcePrivatePtr srcpriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src);
-    qemuBlockStorageSourceAttachDataPtr data;
+    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
     qemuBlockStorageSourceAttachDataPtr ret = NULL;
 
     if (VIR_ALLOC(data) < 0)
@@ -571,7 +571,6 @@ qemuHotplugRemoveStorageSourcePrepareData(virStorageSourcePtr src,
 
  cleanup:
     VIR_FREE(driveAlias);
-    qemuBlockStorageSourceAttachDataFree(data);
     return ret;
 }
 
@@ -582,7 +581,7 @@ qemuHotplugDiskSourceRemovePrepare(virDomainDiskDefPtr disk,
                                    virQEMUCapsPtr qemuCaps)
 {
     qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
-    qemuBlockStorageSourceAttachDataPtr backend = NULL;
+    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) backend = NULL;
     qemuHotplugDiskSourceDataPtr data = NULL;
     qemuHotplugDiskSourceDataPtr ret = NULL;
     char *drivealias = NULL;
@@ -617,7 +616,6 @@ qemuHotplugDiskSourceRemovePrepare(virDomainDiskDefPtr disk,
     VIR_STEAL_PTR(ret, data);
 
  cleanup:
-    qemuBlockStorageSourceAttachDataFree(backend);
     qemuHotplugDiskSourceDataFree(data);
     return ret;
 }
@@ -637,7 +635,7 @@ qemuHotplugDiskSourceAttachPrepare(virDomainDiskDefPtr disk,
                                    virStorageSourcePtr src,
                                    virQEMUCapsPtr qemuCaps)
 {
-    qemuBlockStorageSourceAttachDataPtr backend = NULL;
+    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) backend = NULL;
     qemuHotplugDiskSourceDataPtr data;
     qemuHotplugDiskSourceDataPtr ret = NULL;
     virStorageSourcePtr savesrc = NULL;
@@ -683,7 +681,6 @@ qemuHotplugDiskSourceAttachPrepare(virDomainDiskDefPtr disk,
     if (savesrc)
         VIR_STEAL_PTR(disk->src, savesrc);
 
-    qemuBlockStorageSourceAttachDataFree(backend);
     qemuHotplugDiskSourceDataFree(data);
     return ret;
 }
index 5db23b492f79aa9ccaec0fa167815512a6eca14e..a8d50d310d6f271aa3f5ea9d2f62a1146f8ad0ec 100644 (file)
@@ -787,7 +787,7 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriverPtr driver,
                                        unsigned int mirror_flags,
                                        const char *tlsAlias)
 {
-    qemuBlockStorageSourceAttachDataPtr data = NULL;
+    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
     qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
     int mon_ret = 0;
     int ret = -1;
@@ -849,7 +849,6 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriverPtr driver,
     ret = 0;
 
  cleanup:
-    qemuBlockStorageSourceAttachDataFree(data);
     return ret;
 }