Updated Branches:
  refs/heads/object_store 93be5ada9 -> 2f6d94462

Support multiple secondary storages for backup snapshot.

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2f6d9446
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2f6d9446
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2f6d9446

Branch: refs/heads/object_store
Commit: 2f6d94462e4b78e67fcc59c1c99b0f398fba98a8
Parents: 93be5ad
Author: Min Chen <[email protected]>
Authored: Mon May 20 21:36:50 2013 -0700
Committer: Min Chen <[email protected]>
Committed: Mon May 20 21:36:50 2013 -0700

----------------------------------------------------------------------
 .../storage/snapshot/SnapshotServiceImpl.java      |   16 ++++++--------
 1 files changed, 7 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2f6d9446/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotServiceImpl.java
 
b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotServiceImpl.java
index fa6d558..25c283a 100644
--- 
a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotServiceImpl.java
+++ 
b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotServiceImpl.java
@@ -163,7 +163,7 @@ public class SnapshotServiceImpl implements SnapshotService 
{
                        } catch (Exception e) {
                                s_logger.debug("Failed to update snapshot state 
due to " + e.getMessage());
                        }
-                       
+
                        snapResult.setResult(result.getResult());
                        future.complete(snapResult);
                        return null;
@@ -186,12 +186,12 @@ public class SnapshotServiceImpl implements 
SnapshotService {
                return null;
        }
 
-       
+
 
        @Override
        public SnapshotResult takeSnapshot(SnapshotInfo snap) {
                SnapshotObject snapshot = (SnapshotObject)snap;
-               
+
                SnapshotObject snapshotOnPrimary = null;
                try {
                    snapshotOnPrimary = 
(SnapshotObject)snap.getDataStore().create(snapshot);
@@ -268,13 +268,11 @@ public class SnapshotServiceImpl implements 
SnapshotService {
 
                        snapObj.processEvent(Snapshot.Event.BackupToSecondary);
 
-                       ZoneScope scope = new 
ZoneScope(snapshot.getDataCenterId());
-                       List<DataStore> stores = 
this.dataStoreMgr.getImageStoresByScope(scope);
-                       if (stores.size() != 1) {
-                               throw new CloudRuntimeException("find out more 
than one image stores");
+                       DataStore imageStore = 
this.dataStoreMgr.getImageStore(snapshot.getDataCenterId());
+                       if (imageStore == null) {
+                               throw new CloudRuntimeException("can not find 
an image stores");
                        }
 
-                       DataStore imageStore = stores.get(0);
                        SnapshotInfo snapshotOnImageStore = 
(SnapshotInfo)imageStore.create(snapshot);
 
                        
snapshotOnImageStore.processEvent(Event.CreateOnlyRequested);
@@ -431,7 +429,7 @@ public class SnapshotServiceImpl implements SnapshotService 
{
                } catch (ExecutionException e) {
                        s_logger.debug("delete snapshot is failed: " + 
e.toString());
                }
-               
+
                return false;
 
        }

Reply via email to