]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_snapshot: Add the guest name to the transient disk path
authorMasayoshi Mizuma <m.mizuma@jp.fujitsu.com>
Thu, 25 Mar 2021 00:54:11 +0000 (20:54 -0400)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 24 May 2021 18:38:07 +0000 (20:38 +0200)
Later patches will implement sharing of the backing file, so we'll need
to be able to discriminate the overlays per VM.

Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_process.c
src/qemu/qemu_snapshot.c
src/qemu/qemu_snapshot.h

index 4a53cf95458fb3446461d21a0dd189ef2acdd7a0..09202a382fd49bcb55f83de867a18eed07a8e6ac 100644 (file)
@@ -6960,7 +6960,7 @@ qemuProcessSetupDisksTransientSnapshot(virDomainObj *vm,
         /* validation code makes sure that we do this only for local disks
          * with a file source */
 
-        if (!(snapdisk = qemuSnapshotGetTransientDiskDef(domdisk)))
+        if (!(snapdisk = qemuSnapshotGetTransientDiskDef(domdisk, vm->def->name)))
             return -1;
 
         if (qemuSnapshotDiskPrepareOne(snapctxt, domdisk, snapdisk,
index 928b7af287ea9d50eb8c944f8f133b8924dc4617..29e86342d6779c38ec35a358d171a6b58a578699 100644 (file)
@@ -1169,7 +1169,8 @@ qemuSnapshotDiskPrepareActiveExternal(virDomainObj *vm,
 
 
 virDomainSnapshotDiskDef *
-qemuSnapshotGetTransientDiskDef(virDomainDiskDef *domdisk)
+qemuSnapshotGetTransientDiskDef(virDomainDiskDef *domdisk,
+                                const char *suffix)
 {
     g_autoptr(virDomainSnapshotDiskDef) snapdisk = g_new0(virDomainSnapshotDiskDef, 1);
 
@@ -1178,7 +1179,8 @@ qemuSnapshotGetTransientDiskDef(virDomainDiskDef *domdisk)
     snapdisk->src = virStorageSourceNew();
     snapdisk->src->type = VIR_STORAGE_TYPE_FILE;
     snapdisk->src->format = VIR_STORAGE_FILE_QCOW2;
-    snapdisk->src->path = g_strdup_printf("%s.TRANSIENT", domdisk->src->path);
+    snapdisk->src->path = g_strdup_printf("%s.TRANSIENT-%s",
+                                          domdisk->src->path, suffix);
 
     if (virFileExists(snapdisk->src->path)) {
         virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
index 4fba7e4e242778abbfd1f3b6c349ffd4c26f317f..ad2bdb11143f18737e36afd56307fda6badcc90b 100644 (file)
@@ -79,4 +79,5 @@ int
 qemuSnapshotDiskCreate(qemuSnapshotDiskContext *snapctxt);
 
 virDomainSnapshotDiskDef *
-qemuSnapshotGetTransientDiskDef(virDomainDiskDef *domdisk);
+qemuSnapshotGetTransientDiskDef(virDomainDiskDef *domdisk,
+                                const char *suffix);