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