rp- commented on code in PR #14194:
URL: https://github.com/apache/cloudstack/pull/14194#discussion_r4259751792
##########
plugins/backup/nas/src/main/java/org/apache/cloudstack/backup/NASBackupProvider.java:
##########
@@ -281,14 +312,25 @@ protected ChainDecision decideChain(VirtualMachine vm) {
// behaves exactly like the pre-incremental full-only path: no bitmap
is generated and no
// chain/checkpoint metadata is created, sent to the agent, or
persisted (legacy-full).
Boolean incrementalEnabled =
NASBackupIncrementalEnabled.valueIn(vm.getDataCenterId());
- if (incrementalEnabled == null || !incrementalEnabled) {
+ final boolean incrementalOn = incrementalEnabled != null &&
incrementalEnabled;
+
+ // Raw block-device storage (LINSTOR/DRBD) cannot carry QEMU
persistent dirty bitmaps, so
+ // libvirt checkpoints — and with them the push-mode incremental path
— are unavailable.
+ // Those VMs take the content-based pull-mode path instead. It is
chosen regardless of the
+ // master switch, because even a full backup benefits: pull mode
writes a sparse qcow2 in a
+ // single pass rather than a fully allocated one needing a second
re-convert pass.
+ if (allVolumesOnContentDiffCapableStorage(vm)) {
Review Comment:
Yes it is probably the safer bet to keep the push mode by default and let
people opt in to the pull mode (then they should also be aware to configure a
proper scratch dir
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]