Arik Hadas has uploaded a new change for review.

Change subject: core: fix stateless VM which was reverted to ram snapshot
......................................................................

core: fix stateless VM which was reverted to ram snapshot

We were removing the memory volumes from snapshots in case the live part
of the snapshot did not happen and the snapshot is set to include
memory. This logic is not good because when it comes to stateless
snapshots, the snapshots contain memory (the memory that was associated
with the active snapshot) and it is not a live snapshot, but we don't
want to remove the memory associated with it.

Therefore, this patch changes the logic that is used to determine
whether or not to remove the memory which is associated with snapshot
when the live part of the snapshot doesn't happen, such that we'll also
ask if the memory was created as part of this snapshot and only if it
is, we will delete it.

Change-Id: I0a4e479424757fab1107797568bc019681de8265
Bug-Url: https://bugzilla.redhat.com/1004184
Signed-off-by: Arik Hadas <aha...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
1 file changed, 4 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/21163/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 364d65b..ed02148 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
@@ -227,9 +227,8 @@
             } else {
                 // If the created snapshot contains memory, remove the memory 
volumes as
                 // they are not going to be in use since no live snapshot is 
created
-                if (createdSnapshot.containsMemory()) {
+                if (getParameters().isSaveMemory() && 
createdSnapshot.containsMemory()) {
                     logMemorySavingFailed();
-
                     
getSnapshotDao().removeMemoryFromSnapshot(createdSnapshot.getId());
                     removeMemoryVolumesOfSnapshot(createdSnapshot);
                 }
@@ -239,7 +238,9 @@
                 revertToActiveSnapshot(createdSnapshot.getId());
                 // If the removed snapshot contained memory, remove the memory 
volumes
                 // Note that the memory volumes might not have been created
-                removeMemoryVolumesOfSnapshot(createdSnapshot);
+                if (getParameters().isSaveMemory() && 
createdSnapshot.containsMemory()) {
+                    removeMemoryVolumesOfSnapshot(createdSnapshot);
+                }
             } else {
                 log.warnFormat("No snapshot was created for VM {0} which is in 
LOCKED status", getVmId());
             }


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

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

Reply via email to