Liron Ar has posted comments on this change.

Change subject: core: fail deletion of template disk with derived disks
......................................................................


Patch Set 2:

(4 comments)

....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
Line 200:     private DiskImagesValidator createDiskImagesValidator(DiskImage 
disk) {
Line 201:       return new DiskImagesValidator(Arrays.asList(disk));
Line 202:     }
Line 203: 
Line 204:     private boolean checkDerivedDisksFromDiskNotExist(DiskImage 
diskImage) {
i'll happily change, but "has no" isn't correct. do you have other suggestion?
Line 205:         return 
validate(createDiskImagesValidator(diskImage).diskImagesHaveNoDerivedDisks(getParameters().getStorageDomainId()));
Line 206:     }
Line 207: 
Line 208:     private List<String> getNamesOfDerivedVmsFromTemplate(DiskImage 
diskImage) {


....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/DiskImagesValidator.java
Line 129:         return ValidationResult.VALID;
Line 130:     }
Line 131: 
Line 132: 
Line 133:     public ValidationResult diskImagesHaveNoDerivedDisks(Guid 
storageDomainId) {
I'll add it.
Line 134:         List<String> disksInfo = null;
Line 135:         for (DiskImage diskImage : diskImages) {
Line 136:             if (diskImage.getVmEntityType() != null && 
diskImage.getVmEntityType().isTemplateType()) {
Line 137:                 List<DiskImage> basedDisks = 
getDiskImageDAO().getAllSnapshotsForParent(diskImage.getImageId());


Line 130:     }
Line 131: 
Line 132: 
Line 133:     public ValidationResult diskImagesHaveNoDerivedDisks(Guid 
storageDomainId) {
Line 134:         List<String> disksInfo = null;
as was discussed in previous versions, i prefer to keep it like that. i don't 
think that in every check we need to create a new list just in case something 
will be wrong.
Line 135:         for (DiskImage diskImage : diskImages) {
Line 136:             if (diskImage.getVmEntityType() != null && 
diskImage.getVmEntityType().isTemplateType()) {
Line 137:                 List<DiskImage> basedDisks = 
getDiskImageDAO().getAllSnapshotsForParent(diskImage.getImageId());
Line 138:                 for (DiskImage basedDisk : basedDisks) {


Line 132: 
Line 133:     public ValidationResult diskImagesHaveNoDerivedDisks(Guid 
storageDomainId) {
Line 134:         List<String> disksInfo = null;
Line 135:         for (DiskImage diskImage : diskImages) {
Line 136:             if (diskImage.getVmEntityType() != null && 
diskImage.getVmEntityType().isTemplateType()) {
1. that's wrong, it's null for floating disks.

2. the validator shouldn't be aware on it's callers, if the disk is not a 
template disk it has no derived disks and therefore the validation should 
succeed.
Line 137:                 List<DiskImage> basedDisks = 
getDiskImageDAO().getAllSnapshotsForParent(diskImage.getImageId());
Line 138:                 for (DiskImage basedDisk : basedDisks) {
Line 139:                     if (storageDomainId == null || 
basedDisk.getStorageIds().contains(storageDomainId)) {
Line 140:                         if (disksInfo == null) {


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifca48993f40f3c5f7b603f33add7049e78e6c4e9
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Liron Ar <lara...@redhat.com>
Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com>
Gerrit-Reviewer: Liron Ar <lara...@redhat.com>
Gerrit-Reviewer: Maor Lipchuk <mlipc...@redhat.com>
Gerrit-Reviewer: Tal Nisan <tni...@redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to