Gilad Chaplik has uploaded a new change for review.

Change subject: core: persist disk image parameters for live migration
......................................................................

core: persist disk image parameters for live migration

DiskImage's Disk Profile and Quota wasn't updated.

Change-Id: I0d6acdd7e8567294d489d1916ede164683941ef7
Bug-Url: https://bugzilla.redhat.com/1145694
Signed-off-by: Gilad Chaplik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
1 file changed, 22 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/83/33483/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
index 7cc35e2..ebbee8b 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
@@ -29,6 +29,9 @@
 import org.ovirt.engine.core.utils.transaction.TransactionSupport;
 
 public class VmReplicateDiskFinishTaskHandler extends 
AbstractSPMAsyncTaskHandler<TaskHandlerCommand<? extends 
LiveMigrateDiskParameters>> {
+    private Guid sourceQuotaId;
+    private Guid sourceDiskProfileId;
+
     public VmReplicateDiskFinishTaskHandler(TaskHandlerCommand<? extends 
LiveMigrateDiskParameters> cmd) {
         super(cmd);
     }
@@ -48,7 +51,9 @@
 
         // Update the DB before sending the command (perform rollback on 
failure)
         
moveDiskInDB(getEnclosingCommand().getParameters().getSourceStorageDomainId(),
-                
getEnclosingCommand().getParameters().getTargetStorageDomainId());
+                
getEnclosingCommand().getParameters().getTargetStorageDomainId(),
+                getEnclosingCommand().getParameters().getQuotaId(),
+                getEnclosingCommand().getParameters().getDiskProfileId());
 
         VDSReturnValue ret = null;
         try {
@@ -64,7 +69,9 @@
             }
         } catch (Exception e) {
             
moveDiskInDB(getEnclosingCommand().getParameters().getTargetStorageDomainId(),
-                    
getEnclosingCommand().getParameters().getSourceStorageDomainId());
+                    
getEnclosingCommand().getParameters().getSourceStorageDomainId(),
+                    sourceQuotaId,
+                    sourceDiskProfileId);
             log.errorFormat("Failed VmReplicateDiskFinish (Disk {0} , VM {1})",
                     getEnclosingCommand().getParameters().getImageGroupID(),
                     getEnclosingCommand().getParameters().getVmId());
@@ -72,7 +79,10 @@
         }
     }
 
-    private void moveDiskInDB(final Guid sourceStorageDomainId, final Guid 
targetStorageDomainId) {
+    private void moveDiskInDB(final Guid sourceStorageDomainId,
+            final Guid targetStorageDomainId,
+            final Guid targetQuota,
+            final Guid targetDiskProfile) {
         if (isMoveDiskInDbSucceded(targetStorageDomainId)) {
             return;
         }
@@ -90,8 +100,15 @@
                             getImageStorageDomainMapDao().save
                                     (new 
image_storage_domain_map(di.getImageId(),
                                             targetStorageDomainId,
-                                            di.getQuotaId(),
-                                            di.getDiskProfileId()));
+                                            targetQuota,
+                                            targetDiskProfile));
+                            if (sourceQuotaId == null) {
+                                sourceQuotaId = di.getQuotaId();
+                            }
+
+                            if (sourceDiskProfileId == null) {
+                                sourceDiskProfileId = di.getDiskProfileId();
+                            }
                         }
                         return null;
                     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0d6acdd7e8567294d489d1916ede164683941ef7
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to