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

Or Ozeri posted 4 patches 3 years ago
[PATCH v1 3/4] qemu: allow mixing active internal and external active disk snapshots
Posted by Or Ozeri 3 years ago
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@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