Skip to content

Commit a2556cf

Browse files
committed
server: set download volume format to qcow2 for KVM volumes
1 parent 06c80cd commit a2556cf

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

plugins/storage/image/default/src/main/java/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
import javax.inject.Inject;
2424

2525
import com.cloud.agent.api.storage.DeleteEntityDownloadURLCommand;
26+
import com.cloud.agent.api.to.DataObjectType;
2627
import com.cloud.host.dao.HostDao;
28+
import com.cloud.hypervisor.Hypervisor.HypervisorType;
2729
import com.cloud.storage.Upload;
2830
import com.cloud.utils.StringUtils;
2931
import org.apache.log4j.Logger;
@@ -74,7 +76,14 @@ private String createObjectNameForExtractUrl(String installPath, ImageFormat for
7476
}
7577

7678
if (format != null) {
77-
objectNameInUrl = objectNameInUrl + "." + format.getFileExtension();
79+
if (dataObject.getTO() != null
80+
&& DataObjectType.VOLUME.equals(dataObject.getTO().getObjectType())
81+
&& HypervisorType.KVM.equals(dataObject.getTO().getHypervisorType())) {
82+
// Fix: The format of KVM volumes on image store is qcow2
83+
objectNameInUrl = objectNameInUrl + "." + ImageFormat.QCOW2.getFileExtension();
84+
} else {
85+
objectNameInUrl = objectNameInUrl + "." + format.getFileExtension();
86+
}
7887
} else if (installPath.lastIndexOf(".") != -1) {
7988
objectNameInUrl = objectNameInUrl + "." + installPath.substring(installPath.lastIndexOf(".") + 1);
8089
}

0 commit comments

Comments
 (0)