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

Reply via email to