You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2026/08/21 06:39:13 UTC

(cloudstack) 01/01: no quiescense when doing vm snapshot on individual disks

This is an automated email from the ASF dual-hosted git repository.

DaanHoogland pushed a commit to branch ghi12871-noQuiesceOnVmSnapshot
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 1acd38a24d60e637791ce6b2500b32cf29a1a285
Author: Daan Hoogland <da...@apache.org>
AuthorDate: Fri Aug 21 08:37:30 2026 +0200

    no quiescense when doing vm snapshot on individual disks
---
 .../storage/vmsnapshot/StorageVMSnapshotStrategy.java       | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/StorageVMSnapshotStrategy.java b/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/StorageVMSnapshotStrategy.java
index be45755c042..c11d857bc9e 100644
--- a/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/StorageVMSnapshotStrategy.java
+++ b/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/StorageVMSnapshotStrategy.java
@@ -423,18 +423,19 @@ public class StorageVMSnapshotStrategy extends DefaultVMSnapshotStrategy {
         }
     }
 
+    /**
+     * Creates a disk (volume) snapshot for one volume of a VM snapshot in progress.
+     * The payload is always given {@code quiescevm=false}: by this point the whole VM is
+     * already frozen via {@link FreezeThawVMCommand}, and {@code DefaultSnapshotStrategy}
+     * rejects {@code quiescevm=true} for volume snapshots.
+     */
     protected SnapshotInfo createDiskSnapshot(VMSnapshot vmSnapshot, List<SnapshotInfo> forRollback, VolumeInfo vol) {
         String snapshotName = vmSnapshot.getId() + "_" + vol.getUuid();
         SnapshotVO snapshot = new SnapshotVO(vol.getDataCenterId(), vol.getAccountId(), vol.getDomainId(), vol.getId(), vol.getDiskOfferingId(),
                               snapshotName, (short) Snapshot.Type.GROUP.ordinal(),  Snapshot.Type.GROUP.name(),  vol.getSize(), vol.getMinIops(),  vol.getMaxIops(), Hypervisor.HypervisorType.KVM, null);
-        VMSnapshotOptions options = ((VMSnapshotVO) vmSnapshot).getOptions();
-        boolean quiescevm = false;
-        if (options != null) {
-            quiescevm = options.needQuiesceVM();
-        }
 
         snapshot = snapshotDao.persist(snapshot);
-        vol.addPayload(setPayload(vol, snapshot, quiescevm));
+        vol.addPayload(setPayload(vol, snapshot, false));
         SnapshotInfo snapshotInfo = snapshotDataFactory.getSnapshot(snapshot.getId(), vol.getDataStore());
         snapshotInfo.addPayload(vol.getpayload());
         SnapshotStrategy snapshotStrategy = storageStrategyFactory.getSnapshotStrategy(snapshotInfo, SnapshotOperation.TAKE);