[libvirt] [PATCH v2 5/9] qemu: Disband qemuDomainSnapshotCreateSingleDiskActive

Peter Krempa pkrempa at redhat.com
Thu Aug 29 14:12:50 UTC 2019


After we always assume support for the 'transaction' command
(c358adc57113b) and follow-up cleanups
qemuDomainSnapshotCreateSingleDiskActive lost its value. Move the code
into appropriate helpers and remove the function.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_driver.c | 53 ++++++++++++++++--------------------------
 1 file changed, 20 insertions(+), 33 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 1191a6e233..8ea34e868c 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -15358,6 +15358,22 @@ qemuDomainSnapshotDiskPrepareOne(virQEMUDriverPtr driver,
         }
     }

+    /* pre-create the image file so that we can label it before handing it to qemu */
+    if (!reuse && dd->src->type != VIR_STORAGE_TYPE_BLOCK) {
+        if (virStorageFileCreate(dd->src) < 0) {
+            virReportSystemError(errno, _("failed to create image file '%s'"),
+                                 NULLSTR(dd->src->path));
+            return -1;
+        }
+        dd->created = true;
+    }
+
+    /* set correct security, cgroup and locking options on the new image */
+    if (qemuDomainStorageSourceAccessAllow(driver, vm, dd->src, false, true) < 0)
+        return -1;
+
+    dd->prepared = true;
+
     return 0;
 }

@@ -15460,36 +15476,6 @@ qemuDomainSnapshotDiskUpdateSource(virQEMUDriverPtr driver,
 }


-static int
-qemuDomainSnapshotCreateSingleDiskActive(virQEMUDriverPtr driver,
-                                         virDomainObjPtr vm,
-                                         qemuDomainSnapshotDiskDataPtr dd,
-                                         virJSONValuePtr actions,
-                                         bool reuse)
-{
-    if (qemuBlockSnapshotAddLegacy(actions, dd->disk, dd->src, reuse) < 0)
-        return -1;
-
-    /* pre-create the image file so that we can label it before handing it to qemu */
-    if (!reuse && dd->src->type != VIR_STORAGE_TYPE_BLOCK) {
-        if (virStorageFileCreate(dd->src) < 0) {
-            virReportSystemError(errno, _("failed to create image file '%s'"),
-                                 NULLSTR(dd->src->path));
-            return -1;
-        }
-        dd->created = true;
-    }
-
-    /* set correct security, cgroup and locking options on the new image */
-    if (qemuDomainStorageSourceAccessAllow(driver, vm, dd->src, false, true) < 0)
-        return -1;
-
-    dd->prepared = true;
-
-    return 0;
-}
-
-
 /* The domain is expected to be locked and active. */
 static int
 qemuDomainSnapshotCreateDiskActive(virQEMUDriverPtr driver,
@@ -15531,9 +15517,10 @@ qemuDomainSnapshotCreateDiskActive(virQEMUDriverPtr driver,
       * VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL with a valid file name and
       * qcow2 format.  */
     for (i = 0; i < ndiskdata; i++) {
-        if (qemuDomainSnapshotCreateSingleDiskActive(driver, vm,
-                                                     &diskdata[i],
-                                                     actions, reuse) < 0)
+        if (qemuBlockSnapshotAddLegacy(actions,
+                                       diskdata[i].disk,
+                                       diskdata[i].src,
+                                       reuse) < 0)
             goto cleanup;
     }

-- 
2.21.0




More information about the libvir-list mailing list