Repository: cloudstack Updated Branches: refs/heads/master f52b98b06 -> a6f17675d
CLOUDSTACK-6175:s3.singleupload.max.size option not applicable for backup snapshot on KVM. Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a6f17675 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a6f17675 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a6f17675 Branch: refs/heads/master Commit: a6f17675d44611e7ca5439e2eb598b94c7a57baf Parents: f52b98b Author: Min Chen <min.c...@citrix.com> Authored: Wed Feb 26 15:04:22 2014 -0800 Committer: Min Chen <min.c...@citrix.com> Committed: Wed Feb 26 15:13:49 2014 -0800 ---------------------------------------------------------------------- .../hypervisor/kvm/storage/KVMStorageProcessor.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a6f17675/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java index 3525d12..2ea3b42 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java @@ -18,6 +18,7 @@ */ package com.cloud.hypervisor.kvm.storage; +import static com.cloud.utils.S3Utils.mputFile; import static com.cloud.utils.S3Utils.putFile; import java.io.BufferedOutputStream; @@ -547,11 +548,16 @@ public class KVMStorageProcessor implements StorageProcessor { return null; //To change body of implemented methods use File | Settings | File Templates. } - protected String copyToS3(File srcFile, S3TO destStore, String destPath) { + protected String copyToS3(File srcFile, S3TO destStore, String destPath) throws InterruptedException { final String bucket = destStore.getBucketName(); + long srcSize = srcFile.length(); String key = destPath + S3Utils.SEPARATOR + srcFile.getName(); - putFile(destStore, srcFile, bucket, key); + if (!destStore.getSingleUpload(srcSize)) { + mputFile(destStore, srcFile, bucket, key); + } else { + putFile(destStore, srcFile, bucket, key); + } return key; } @@ -584,6 +590,9 @@ public class KVMStorageProcessor implements StorageProcessor { SnapshotObjectTO newSnapshot = new SnapshotObjectTO(); newSnapshot.setPath(destPath); return new CopyCmdAnswer(newSnapshot); + } catch (Exception e) { + s_logger.error("failed to upload" + srcPath, e); + return new CopyCmdAnswer("failed to upload" + srcPath + e.toString()); } finally { try { if (srcFile != null) {