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