Daniel Erez has uploaded a new change for review.

Change subject: core: disk live migrate - snapshot only on migrated disks
......................................................................

core: disk live migrate - snapshot only on migrated disks

LiveSnapshotTaskHandler:
Take a snapshot only on the migrated disks
(by utilizing single disk snapshot feature).

Change-Id: I21387ef38b5f86806b985b8dffb49d5b7952a628
Bug-Url: https://bugzilla.redhat.com/969789
Bug-Url: https://bugzilla.redhat.com/1056922
Signed-off-by: Daniel Erez <de...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveSnapshotTaskHandler.java
2 files changed, 16 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/75/24075/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
index 445760a..13103af 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
@@ -34,7 +34,6 @@
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.asynctasks.AsyncTaskCreationInfo;
 import org.ovirt.engine.core.common.asynctasks.EntityInfo;
-import org.ovirt.engine.core.common.businessentities.Disk;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
 import org.ovirt.engine.core.common.businessentities.Snapshot;
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus;
@@ -363,8 +362,7 @@
     }
 
     private SnapshotVDSCommandParameters buildLiveSnapshotParameters(Snapshot 
snapshot) {
-        List<Disk> pluggedDisks = getDiskDao().getAllForVm(getVm().getId(), 
true);
-        List<DiskImage> filteredPluggedDisks = 
ImagesHandler.filterImageDisks(pluggedDisks, false, true, true);
+        List<DiskImage> filteredPluggedDisks = 
ImagesHandler.filterImageDisks(getDisksList(), false, true, true);
         if 
(FeatureSupported.memorySnapshot(getVm().getVdsGroupCompatibilityVersion())) {
             return new SnapshotVDSCommandParameters(getVm().getRunOnVds(),
                     getVm().getId(),
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveSnapshotTaskHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveSnapshotTaskHandler.java
index 4115ec8..6f2dd35 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveSnapshotTaskHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveSnapshotTaskHandler.java
@@ -1,5 +1,6 @@
 package org.ovirt.engine.core.bll.lsm;
 
+import java.util.ArrayList;
 import java.util.LinkedHashSet;
 import java.util.List;
 
@@ -38,6 +39,19 @@
            }
        }
         return movedVmDiskIds;
+    }
+
+    private List<DiskImage> getMovedDisks() {
+        LinkedHashSet<Guid> movedDiskIds = getMovedDiskIds();
+        List<DiskImage> disks = new ArrayList<>();
+
+        for (Guid diskId : movedDiskIds) {
+            DiskImage disk = new DiskImage();
+            disk.setId(diskId);
+            disks.add(disk);
+        }
+
+        return disks;
     }
 
     @Override
@@ -137,6 +151,7 @@
         params.setParentParameters(enclosingCommand.getParameters());
         
params.setImagesParameters(enclosingCommand.getParameters().getImagesParameters());
         
params.setTaskGroupSuccess(enclosingCommand.getParameters().getTaskGroupSuccess());
+        params.setDisks(getMovedDisks());
         params.setDiskIdsToIgnoreInChecks(getMovedDiskIds());
         params.setNeedsLocking(false);
 


-- 
To view, visit http://gerrit.ovirt.org/24075
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I21387ef38b5f86806b985b8dffb49d5b7952a628
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Daniel Erez <de...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to