Oved Ourfali has uploaded a new change for review. Change subject: engine: Deleting all snapshot disks during a vdsm restart leaves disks locked ......................................................................
engine: Deleting all snapshot disks during a vdsm restart leaves disks locked Restarting vdsm when deleting snapshot volumes leaves some volumes in locked status. Change-Id: I58b354541821845f506f9848782763f3c2526f9c Bug-Url: https://bugzilla.redhat.com/1157222 Signed-off-by: Ravi Nori <[email protected]> (cherry picked from commit 262786486733a4c8042b1f09a8b2bd545fe19e96) --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java 1 file changed, 22 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/11/35811/1 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 01d3595..55b0f6f 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 @@ -6,16 +6,19 @@ import org.ovirt.engine.core.common.action.ImagesContainterParametersBase; import org.ovirt.engine.core.common.asynctasks.AsyncTaskType; import org.ovirt.engine.core.common.businessentities.DiskImage; +import org.ovirt.engine.core.common.businessentities.ImageStatus; import org.ovirt.engine.core.common.job.StepEnum; import org.ovirt.engine.core.common.vdscommands.MergeSnapshotsVDSCommandParameters; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.job.ExecutionMessageDirector; +import org.ovirt.engine.core.utils.transaction.TransactionMethod; +import org.ovirt.engine.core.utils.transaction.TransactionSupport; import org.springframework.util.CollectionUtils; @InternalCommandAttribute -public class RemoveSnapshotSingleDiskCommand<T extends ImagesContainterParametersBase> extends RemoveSnapshotSingleDiskCommandBase { +public class RemoveSnapshotSingleDiskCommand<T extends ImagesContainterParametersBase> extends RemoveSnapshotSingleDiskCommandBase<T> { public RemoveSnapshotSingleDiskCommand(T parameters) { super(parameters); @@ -85,4 +88,22 @@ setSucceeded(true); } + + @Override + public void rollback() { + super.rollback(); + TransactionSupport.executeInNewTransaction(new TransactionMethod<Object>() { + @Override + public Object runInTransaction() { + if (!getParameters().isLeaveLocked()) { + DiskImage diskImage = getDestinationDiskImage(); + if (diskImage != null) { + getImageDao().updateStatus(diskImage.getImage().getId(), ImageStatus.OK); + } + unLockImage(); + } + return null; + } + }); + } } -- To view, visit http://gerrit.ovirt.org/35811 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I58b354541821845f506f9848782763f3c2526f9c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Oved Ourfali <[email protected]> Gerrit-Reviewer: Ravi Nori <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
