Allon Mureinik has uploaded a new change for review. Change subject: core: ImportVmCommand: fix disk alias generation ......................................................................
core: ImportVmCommand: fix disk alias generation When ImportVmCommand auto generates the disks' aliases, it assigns them all the same alias, vmName_DiskN, where N is the number of disks attached to the imported VM. This patch fixes these aliases, and gives each disk a different alias, starting with VmName_Disk1 up to VmName_DiskN. Change-Id: Ibdd6525529d3d5e0c8ee2c86b418562929118207 Bug-Url: https://bugzilla.redhat.com/882616 Signed-off-by: Allon Mureinik <amure...@redhat.com> --- 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(+), 7 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/9629/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 0c9a85e..5757145 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 @@ -110,13 +110,12 @@ } public static boolean setDiskAlias(BaseDisk disk, VM vm) { + return setDiskAlias(disk, vm, nullSafeGetCount(vm)); + } + + public static boolean setDiskAlias(BaseDisk disk, VM vm, int count) { if (disk != null) { - String vmName = ""; - int count = 1; - if (vm != null) { - vmName = vm.getvm_name(); - count = vm.getDiskMapCount() + 1; - } + String vmName = nullSafeGetVmName(vm); disk.setDiskAlias(getSuggestedDiskAlias(disk, vmName, count)); return true; } else { @@ -125,6 +124,14 @@ } } + private static String nullSafeGetVmName(VM vm) { + return vm == null ? "" : vm.getvm_name(); + } + + private static int nullSafeGetCount(VM vm) { + return vm == null ? 1 : vm.getDiskMapCount() + 1; + } + /** * Retrieve disk alias name, if the alias name is null returns the default alias name. * 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 2a13daf..9e976f7 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 @@ -610,7 +610,9 @@ if (getParameters().getCopyCollapse()) { Guid snapshotId = Guid.NewGuid(); + int aliasCounter = 0; for (List<DiskImage> diskList : images.values()) { + ++aliasCounter; DiskImage disk = diskList.get(diskList.size() - 1); disk.setParentId(VmTemplateHandler.BlankVmTemplateId); @@ -636,7 +638,7 @@ } disk.setcreation_date(new Date()); BaseImagesCommand.saveImage(disk); - ImagesHandler.setDiskAlias(disk, getVm()); + ImagesHandler.setDiskAlias(disk, getVm(), aliasCounter); getBaseDiskDao().save(disk); saveDiskImageDynamic(disk); } -- To view, visit http://gerrit.ovirt.org/9629 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibdd6525529d3d5e0c8ee2c86b418562929118207 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Allon Mureinik <amure...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches