Maor Lipchuk has uploaded a new change for review. Change subject: core:Import VM should not be blocked when collapse ......................................................................
core:Import VM should not be blocked when collapse Import VM with disks to block device domain, will not be blocked for images which has sparse volume type and RAW volume format, while user sends the copy collapse option as true. Signed-off-by: Maor Lipchuk <mlipc...@redhat.com> Change-Id: Ic6f4b762fbd9770c5157fee6b24373fa9a0dca10 --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java 2 files changed, 16 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/56/7756/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java index 96d08c6..8232484 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java @@ -409,10 +409,14 @@ public static boolean CheckImageConfiguration(storage_domain_static storageDomain, DiskImageBase diskInfo, List<String> messages) { + return checkImageConfiguration(storageDomain, diskInfo, messages, false); + } + + public static boolean checkImageConfiguration(storage_domain_static storageDomain, + DiskImageBase diskInfo, List<String> messages, boolean isCopyCollapse) { boolean result = true; if ((diskInfo.getvolume_type() == VolumeType.Preallocated && diskInfo.getvolume_format() == VolumeFormat.COW) - || ((storageDomain.getstorage_type() == StorageType.FCP || storageDomain.getstorage_type() == StorageType.ISCSI) && (diskInfo - .getvolume_type() == VolumeType.Sparse && diskInfo.getvolume_format() == VolumeFormat.RAW)) + || !isCopyCollapse && isVolTypeAndFormatSupportedByBlockDevice(storageDomain, diskInfo) || (diskInfo.getvolume_format() == VolumeFormat.Unassigned || diskInfo.getvolume_type() == VolumeType.Unassigned)) { // not supported result = false; @@ -421,6 +425,12 @@ return result; } + private static boolean isVolTypeAndFormatSupportedByBlockDevice(storage_domain_static storageDomain, + DiskImageBase diskInfo) { + return (storageDomain.getstorage_type() == StorageType.FCP || storageDomain.getstorage_type() == StorageType.ISCSI) && (diskInfo + .getvolume_type() == VolumeType.Sparse && diskInfo.getvolume_format() == VolumeFormat.RAW); + } + public static boolean CheckImagesConfiguration(Guid storageDomainId, Collection<? extends Disk> disksConfigList, List<String> messages) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java index b2ed531..1ef17be 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java @@ -233,10 +233,10 @@ } } retVal = - ImagesHandler.CheckImageConfiguration(domainsMap.get(imageToDestinationDomainMap.get(image.getId())) + ImagesHandler.checkImageConfiguration(domainsMap.get(imageToDestinationDomainMap.get(image.getId())) .getStorageStaticData(), image, - canDoActionMessages); + canDoActionMessages, getParameters().getCopyCollapse()); if (!retVal) { break; } else { @@ -297,10 +297,10 @@ .get(disk.getId()); if (key != null) { retVal = - ImagesHandler.CheckImageConfiguration(domainsMap.get(imageToDestinationDomainMap.get(key.getId())) + ImagesHandler.checkImageConfiguration(domainsMap.get(imageToDestinationDomainMap.get(key.getId())) .getStorageStaticData(), (DiskImageBase) disk, - canDoActionMessages); + canDoActionMessages, getParameters().getCopyCollapse()); if (!retVal) { break; } -- To view, visit http://gerrit.ovirt.org/7756 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic6f4b762fbd9770c5157fee6b24373fa9a0dca10 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <mlipc...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches