Skip to content

Commit bcc9c1a

Browse files
Gupta, SuryaGupta, Surya
authored andcommitted
CSTACKEX-16 Fix issue for lunClone
1 parent d45cab2 commit bcc9c1a

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/driver/OntapPrimaryDatastoreDriver.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -636,7 +636,7 @@ private CloudStackVolume snapshotCloudStackVolumeRequestByProtocol(Map<String, S
636636
ProtocolType protocolType = null;
637637
String protocol = null;
638638
long size = 0L;
639-
String snapshotName = null;
639+
String snapshotName = snapshotInfo.getName();
640640
String lunName = null;
641641

642642
try {
@@ -645,13 +645,15 @@ private CloudStackVolume snapshotCloudStackVolumeRequestByProtocol(Map<String, S
645645
if (ProtocolType.ISCSI.name().equalsIgnoreCase(details.get(Constants.PROTOCOL))) {
646646
size = cloudStackVolume.getLun().getSpace().getSize();
647647
lunName = cloudStackVolume.getLun().getName();
648-
snapshotName = lunName + "-snapshot-" + snapshotInfo.getUuid();
649-
s_logger.info("snapshotCloudStackVolumeRequestByProtocol: size: {} ", size);
650-
s_logger.info("snapshotCloudStackVolumeRequestByProtocol: lunName: {} ", lunName);
651-
s_logger.info("snapshotCloudStackVolumeRequestByProtocol: snapshotName: {} ", snapshotName);
652-
int trimRequired = snapshotName.length() - Constants.MAX_SNAPSHOT_NAME_LENGTH;
653-
if (trimRequired > 0) {
654-
snapshotName = StringUtils.left(lunName, (lunName.length() - trimRequired)) + "-" + snapshotInfo.getUuid();
648+
if(snapshotName == null || snapshotName.isEmpty()) {
649+
snapshotName = lunName + "-snapshot-" + snapshotInfo.getUuid();
650+
s_logger.info("snapshotCloudStackVolumeRequestByProtocol: size: {} ", size);
651+
s_logger.info("snapshotCloudStackVolumeRequestByProtocol: lunName: {} ", lunName);
652+
s_logger.info("snapshotCloudStackVolumeRequestByProtocol: snapshotName: {} ", snapshotName);
653+
int trimRequired = snapshotName.length() - Constants.MAX_SNAPSHOT_NAME_LENGTH;
654+
if (trimRequired > 0) {
655+
snapshotName = StringUtils.left(lunName, (lunName.length() - trimRequired)) + "-" + snapshotInfo.getUuid();
656+
}
655657
}
656658
}
657659
s_logger.info("snapshotCloudStackVolumeRequestByProtocol: snapshotName after trim: {} ", snapshotName);
@@ -674,6 +676,7 @@ private CloudStackVolume snapshotCloudStackVolumeRequestByProtocol(Map<String, S
674676
svm.setName(details.get(Constants.SVM_NAME));
675677
Lun.Source lunCloneSource = new Lun.Source();
676678
lunCloneSource.setName(cloudStackVolume.getLun().getName());
679+
lunCloneSource.setUuid(cloudStackVolume.getLun().getUuid());
677680
Lun.Clone lunClone = new Lun.Clone();
678681
lunClone.setSource(lunCloneSource);
679682
lun.setName(snapshotName);

0 commit comments

Comments
 (0)