[PATCH v1 3/4] qemu: allow mixing active internal and external active disk snapshots

Or Ozeri oro at il.ibm.com
Thu Jan 12 08:44:38 UTC 2023


Previous commit added support for active internal disk snapshots,
using the same qmp_transaction used also for external snapshots.
The same transaction can be used to mix internal and external snapshots.
To allow this, this commit simply removes the check that disallows mixing
for active snapshots.
Offline snapshots still do not support mixing.

Signed-off-by: Or Ozeri <oro at il.ibm.com>
---
 src/qemu/qemu_snapshot.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 9146ecae2f..da29fa2853 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -727,10 +727,9 @@ qemuSnapshotPrepare(virDomainObj *vm,
         return -1;
     }
 
-    /* For now, we don't allow mixing internal and external disks.
-     * XXX technically, we could mix internal and external disks for
+    /* For now, we don't allow mixing internal and external disks for
      * offline snapshots */
-    if ((found_internal && external) ||
+    if ((found_internal && external && !active) ||
          (def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_INTERNAL && external) ||
          (def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL && found_internal)) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-- 
2.25.1



More information about the libvir-list mailing list