diff --git a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java index 907d4ff5e55..3ef881cfb96 100755 --- a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java +++ b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java @@ -1725,11 +1725,15 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S if (uploadEntityStateMap.containsKey(entityId)) { UploadEntity uploadEntity = uploadEntityStateMap.get(entityId); if (uploadEntity.getUploadState()== UploadEntity.Status.ERROR) { - uploadEntityStateMap.remove(uploadEntity); + uploadEntityStateMap.remove(entityId); return new UploadStatusAnswer(cmd, UploadStatus.ERROR, uploadEntity.getErrorMessage()); }else if (uploadEntity.getUploadState()== UploadEntity.Status.COMPLETED) { - uploadEntityStateMap.remove(uploadEntity); - return new UploadStatusAnswer(cmd, UploadStatus.COMPLETED); + UploadStatusAnswer answer = new UploadStatusAnswer(cmd, UploadStatus.COMPLETED); + answer.setVirtualSize(uploadEntity.getVirtualSize()); + answer.setInstallPath(uploadEntity.getTmpltPath()); + answer.setPhysicalSize(uploadEntity.getEntitysize()); + uploadEntityStateMap.remove(entityId); + return answer; }else if (uploadEntity.getUploadState()==UploadEntity.Status.IN_PROGRESS) { return new UploadStatusAnswer(cmd,UploadStatus.IN_PROGRESS); } @@ -2833,6 +2837,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S } if (info != null) { loc.addFormat(info); + uploadEntity.setVirtualSize(info.virtualSize); //dnld.setTemplatesize(info.virtualSize); //dnld.setTemplatePhysicalSize(info.size); break; diff --git a/services/secondary-storage/server/src/org/apache/cloudstack/storage/template/UploadEntity.java b/services/secondary-storage/server/src/org/apache/cloudstack/storage/template/UploadEntity.java index 3066c6b31cf..8d3d0213c4e 100644 --- a/services/secondary-storage/server/src/org/apache/cloudstack/storage/template/UploadEntity.java +++ b/services/secondary-storage/server/src/org/apache/cloudstack/storage/template/UploadEntity.java @@ -49,6 +49,7 @@ public class UploadEntity { private String errorMessage=null; private File file; private ResourceType resourceType; + private long virtualSize; public static long s_maxTemplateSize = 50L * 1024L * 1024L * 1024L; @@ -173,4 +174,11 @@ public class UploadEntity { this.chksum = chksum; } + public long getVirtualSize() { + return virtualSize; + } + + public void setVirtualSize(long virtualSize) { + this.virtualSize = virtualSize; + } }