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);

Reply via email to