You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mc...@apache.org on 2014/02/26 20:53:01 UTC
git commit: updated refs/heads/4.3-forward to b1ddb92
Repository: cloudstack
Updated Branches:
refs/heads/4.3-forward 4c83f80c8 -> b1ddb92b7
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/b1ddb92b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/b1ddb92b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/b1ddb92b
Branch: refs/heads/4.3-forward
Commit: b1ddb92b7fa79a06361ada70d4318b8ad20e780b
Parents: 4c83f80
Author: Min Chen <mi...@citrix.com>
Authored: Wed Feb 26 11:51:24 2014 -0800
Committer: Min Chen <mi...@citrix.com>
Committed: Wed Feb 26 11:51:24 2014 -0800
----------------------------------------------------------------------
.../kvm/storage/KVMStorageProcessor.java | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b1ddb92b/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 cd57643..edb1872 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;
@@ -102,8 +103,8 @@ import com.cloud.utils.script.Script;
public class KVMStorageProcessor implements StorageProcessor {
private static final Logger s_logger = Logger.getLogger(KVMStorageProcessor.class);
- private KVMStoragePoolManager storagePoolMgr;
- private LibvirtComputingResource resource;
+ private final KVMStoragePoolManager storagePoolMgr;
+ private final LibvirtComputingResource resource;
private StorageLayer storageLayer;
private String _createTmplPath;
private String _manageSnapshotPath;
@@ -566,13 +567,20 @@ public class KVMStorageProcessor implements StorageProcessor {
public Answer createTemplateFromSnapshot(CopyCommand cmd) {
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;
}
+
protected Answer copyToObjectStore(CopyCommand cmd) {
DataTO srcData = cmd.getSrcTO();
DataTO destData = cmd.getDestTO();
@@ -603,6 +611,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) {