CLOUDSTACK-4216: fix extract volume for kvm
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1a6b7d67 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1a6b7d67 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1a6b7d67 Branch: refs/heads/master Commit: 1a6b7d671432bd9dc68fe295a4ee96211870b450 Parents: 9a89fd9 Author: Edison Su <[email protected]> Authored: Fri Aug 9 20:52:08 2013 -0700 Committer: Edison Su <[email protected]> Committed: Mon Aug 12 17:20:15 2013 -0700 ---------------------------------------------------------------------- .../cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java | 2 +- .../storage/resource/NfsSecondaryStorageResource.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1a6b7d67/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java index 8147e58..262343a 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java @@ -88,7 +88,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor { @Override public boolean createFolder(String uuid, String path) { String mountPoint = _mountPoint + File.separator + uuid; - File f = new File(mountPoint + path); + File f = new File(mountPoint + File.separator + path); if (!f.exists()) { f.mkdirs(); } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1a6b7d67/services/secondary-storage/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java ---------------------------------------------------------------------- diff --git a/services/secondary-storage/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java b/services/secondary-storage/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java index ce04fe2..3401006 100755 --- a/services/secondary-storage/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java +++ b/services/secondary-storage/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java @@ -734,7 +734,13 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S } final String bucket = s3.getBucketName(); - final File srcFile = _storage.getFile(templatePath); + File srcFile = _storage.getFile(templatePath); + if (!srcFile.exists()) { + srcFile = _storage.getFile(templatePath + ".qcow2"); + if (!srcFile.exists()) { + return new CopyCmdAnswer("Can't find src file:" + templatePath); + } + } ImageFormat format = this.getTemplateFormat(templatePath); String key = destData.getPath() + S3Utils.SEPARATOR + srcFile.getName(); putFile(s3, srcFile, bucket, key);
