Arik Hadas has uploaded a new change for review. Change subject: core: fix memory removal ......................................................................
core: fix memory removal Change-Id: I75223593f0f9a299d60693fccdefed64419d4bd3 Signed-off-by: Arik Hadas <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java 2 files changed, 16 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/70/37670/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java index 859b3f9..19c8aab 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java @@ -110,8 +110,8 @@ private Guid createMemoryMetadataDisk() { DiskImage image = new DiskImage(); - image.setDiskAlias(String.format("%s_Hibernation_metadata", getVm().getName())); - image.setDescription("Meta-data for hibernated VM"); + image.setDiskAlias(String.format("%s_hibernation_metadata", getVm().getName())); + image.setDescription("meta-data for hibernated VM"); image.setSize(MemoryUtils.META_DATA_SIZE_IN_BYTES); image.setVolumeType(VolumeType.Sparse); image.setvolumeFormat(VolumeFormat.COW); @@ -121,8 +121,8 @@ private Guid createMemoryDumpDisk() { DiskImage image = new DiskImage(); - image.setDiskAlias(String.format("%s_Hibernation_dump", getVm().getName())); - image.setDescription("Memory dump for hibernated VM"); + image.setDiskAlias(String.format("%s_hibernation_dump", getVm().getName())); + image.setDescription("memory dump for hibernated VM"); image.setSize(getVm().getTotalMemorySizeInBytes()); image.setVolumeType(getMemoryVolumeType()); image.setvolumeFormat(VolumeFormat.RAW); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java index 6a63925..fbc241c 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java @@ -32,6 +32,7 @@ import org.ovirt.engine.core.common.action.IdParameters; import org.ovirt.engine.core.common.action.LockProperties; import org.ovirt.engine.core.common.action.LockProperties.Scope; +import org.ovirt.engine.core.common.action.RemoveDiskParameters; import org.ovirt.engine.core.common.action.RunVmParams; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VdcReturnValueBase; @@ -1052,12 +1053,21 @@ getSnapshotDAO().removeMemoryFromActiveSnapshot(getVmId()); - // If the memory volumes are not used by any other snapshot, we can remove them - if (getSnapshotDAO().getNumOfSnapshotsByMemory(memory) == 0) { + if (getFlow() == RunVmFlow.RESUME_HIBERNATE) { + removeHibernationDisks(memory); + } + //If the memory volumes are not used by any other snapshot, we can remove them + else if (getSnapshotDAO().getNumOfSnapshotsByMemory(memory) == 0) { removeMemoryVolumes(memory, getActionType(), true); } } + private void removeHibernationDisks(String memory) { + String[] guids = memory.split(","); + runInternalAction(VdcActionType.RemoveDisk, new RemoveDiskParameters(new Guid(guids[2]))); + runInternalAction(VdcActionType.RemoveDisk, new RemoveDiskParameters(new Guid(guids[4]))); + } + /** * @return true if the VM should run as stateless */ -- To view, visit http://gerrit.ovirt.org/37670 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I75223593f0f9a299d60693fccdefed64419d4bd3 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
