Daniel Erez has uploaded a new change for review. Change subject: core: update DiskImageDynamic on RemoveSnapshot ......................................................................
core: update DiskImageDynamic on RemoveSnapshot * Fetching image's size on endSuccessfully of RemoveSnapshotSingleDiskCommand. * Updating DiskImageDynamic with the retrieved value. Change-Id: Ie124fb42c34860ee349e91172e0248a2d824b127 Bug-Url: https://bugzilla.redhat.com/923864 Signed-off-by: Daniel Erez <de...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java 2 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/43/13243/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java index b548b3d..cbfafee 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/BaseImagesCommand.java @@ -23,6 +23,7 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dao.BaseDiskDao; +import org.ovirt.engine.core.dao.DiskImageDynamicDAO; import org.ovirt.engine.core.dao.ImageDao; import org.ovirt.engine.core.dao.SnapshotDao; import org.ovirt.engine.core.utils.transaction.TransactionMethod; @@ -77,6 +78,11 @@ return getDbFacade().getSnapshotDao(); } + @Override + protected DiskImageDynamicDAO getDiskImageDynamicDAO() { + return getDbFacade().getDiskImageDynamicDao(); + } + protected void setImage(DiskImage image) { mImage = image; } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java index 0324a48..a1b41a6 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java @@ -8,7 +8,9 @@ import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.asynctasks.AsyncTaskType; import org.ovirt.engine.core.common.businessentities.DiskImage; +import org.ovirt.engine.core.common.businessentities.DiskImageDynamic; import org.ovirt.engine.core.common.job.StepEnum; +import org.ovirt.engine.core.common.vdscommands.GetImageInfoVDSCommandParameters; import org.ovirt.engine.core.common.vdscommands.MergeSnapshotsVDSCommandParameters; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; @@ -82,11 +84,30 @@ getDestinationDiskImage().setParentId(getDiskImage().getParentId()); getBaseDiskDao().update(curr); getImageDao().update(getDestinationDiskImage().getImage()); + updateDiskImageDynamic(); } setSucceeded(true); } + private void updateDiskImageDynamic() { + VDSReturnValue ret = Backend.getInstance().getResourceManager().RunVdsCommand( + VDSCommandType.GetImageInfo, + new GetImageInfoVDSCommandParameters(getDestinationDiskImage().getStoragePoolId().getValue(), + getDestinationDiskImage().getStorageIds().get(0), + getDestinationDiskImage().getId(), + getDestinationDiskImage().getImageId())); + + DiskImage imageFromIRS = (DiskImage) ret.getReturnValue(); + DiskImageDynamic diskImageDynamic = getDiskImageDynamicDAO().get(getDestinationDiskImage().getImageId()); + + // Update image's actual size in DB + if (imageFromIRS != null && diskImageDynamic != null) { + diskImageDynamic.setactual_size(imageFromIRS.getActualSizeFromDiskImage()); + getDiskImageDynamicDAO().update(diskImageDynamic); + } + } + @Override protected void endWithFailure() { // TODO: FILL! We should determine what to do in case of -- To view, visit http://gerrit.ovirt.org/13243 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie124fb42c34860ee349e91172e0248a2d824b127 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