Gilad Chaplik has uploaded a new change for review.

Change subject: core: avoid prms check when quota unchanged
......................................................................

core: avoid prms check when quota unchanged

incase the quota refernce of an object (vm, disk or template)
isn't changed, do not perform quota permission check on that quota.

Change-Id: I6d1fe74b4d4c6f23077c70d4779265b354147259
Signed-off-by: Gilad Chaplik <gchap...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyDiskCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
4 files changed, 22 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/80/7180/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyDiskCommand.java
index 03fe2da..817cbf7 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyDiskCommand.java
@@ -432,9 +432,11 @@
         if (getStoragePool() != null &&
                 getQuotaId() != null &&
                 
!getStoragePool().getQuotaEnforcementType().equals(QuotaEnforcementTypeEnum.DISABLED))
 {
-            quotaPermissionList.add(new PermissionSubject(getQuotaId(),
-                    VdcObjectType.Quota,
-                    ActionGroup.CONSUME_QUOTA));
+            if (!getQuotaId().equals(getDiskImage().getQuotaId())) {
+                quotaPermissionList.add(new PermissionSubject(getQuotaId(),
+                        VdcObjectType.Quota,
+                        ActionGroup.CONSUME_QUOTA));
+            }
         }
     }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
index 2e35716..326b018 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
@@ -372,7 +372,12 @@
         if (getStoragePool() != null &&
                 getQuotaId() != null &&
                 
!getStoragePool().getQuotaEnforcementType().equals(QuotaEnforcementTypeEnum.DISABLED))
 {
-            quotaPermissionList.add(new PermissionSubject(getQuotaId(), 
VdcObjectType.Quota, ActionGroup.CONSUME_QUOTA));
+            VM vm = getVmDAO().get(getVmId());
+            if (vm != null && !getQuotaId().equals(vm.getQuotaId())) {
+                quotaPermissionList.add(new PermissionSubject(getQuotaId(),
+                        VdcObjectType.Quota,
+                        ActionGroup.CONSUME_QUOTA));
+            }
         }
     }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java
index 1fd2918..7bfa443 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmDiskCommand.java
@@ -356,7 +356,11 @@
         if (getStoragePool() != null &&
                 getQuotaId() != null &&
                 
!getStoragePool().getQuotaEnforcementType().equals(QuotaEnforcementTypeEnum.DISABLED))
 {
-            quotaPermissionList.add(new PermissionSubject(getQuotaId(), 
VdcObjectType.Quota, ActionGroup.CONSUME_QUOTA));
+            if (canPerformQuotaValidation()) {
+                quotaPermissionList.add(new PermissionSubject(getQuotaId(),
+                        VdcObjectType.Quota,
+                        ActionGroup.CONSUME_QUOTA));
+            }
         }
     }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
index c60324e..449d2ac 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmTemplateCommand.java
@@ -136,7 +136,12 @@
         if (getStoragePool() != null &&
                 getQuotaId() != null &&
                 
!getStoragePool().getQuotaEnforcementType().equals(QuotaEnforcementTypeEnum.DISABLED))
 {
-            quotaPermissionList.add(new PermissionSubject(getQuotaId(), 
VdcObjectType.Quota, ActionGroup.CONSUME_QUOTA));
+            VmTemplate template = getVmTemplateDAO().get(getVmTemplateId());
+            if (template != null && 
!getQuotaId().equals(template.getQuotaId())) {
+                quotaPermissionList.add(new PermissionSubject(getQuotaId(),
+                        VdcObjectType.Quota,
+                        ActionGroup.CONSUME_QUOTA));
+            }
         }
     }
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6d1fe74b4d4c6f23077c70d4779265b354147259
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to