[libvirt] [PATCH 09/13] qemu: snapshot: Move all cleanup of snapshot disk data to qemuDomainSnapshotDiskDataFree

Peter Krempa pkrempa at redhat.com
Wed Jun 5 15:28:31 UTC 2019


qemuDomainSnapshotDiskDataFree also removes the resources associated
with the disk data. Move the unlinking of the just-created file so that
we can unify the cleanup paths.

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

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 9736933143..220a5846d8 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -15049,6 +15049,12 @@ qemuDomainSnapshotDiskDataFree(qemuDomainSnapshotDiskDataPtr data,
         /* on success of the snapshot the 'src' and 'persistsrc' properties will
          * be set to NULL by qemuDomainSnapshotUpdateDiskSources */
         if (data[i].src) {
+            if (data[i].created &&
+                virStorageFileUnlink(data[i].src) < 0) {
+                VIR_WARN("Unable to remove just-created %s",
+                         NULLSTR(data[i].src->path));
+            }
+
             if (data[i].initialized)
                 virStorageFileDeinit(data[i].src);

@@ -15292,14 +15298,6 @@ qemuDomainSnapshotCreateDiskActive(virQEMUDriverPtr driver,
  error:
     if (ret < 0) {
         virErrorPreserveLast(&orig_err);
-        for (i = 0; i < ndiskdata; i++) {
-            if (diskdata[i].prepared)
-                qemuDomainStorageSourceAccessRevoke(driver, vm, diskdata[i].src);
-
-            if (diskdata[i].created &&
-                virStorageFileUnlink(diskdata[i].src) < 0)
-                VIR_WARN("Unable to remove just-created %s", diskdata[i].src->path);
-        }
     } else {
         /* on successful snapshot we need to remove locks from the now-old
          * disks and if the VM is paused release locks on the images since qemu
-- 
2.21.0




More information about the libvir-list mailing list