From e018936dc46f448bdcd656b09a1830f5d553b8ec Mon Sep 17 00:00:00 2001 From: Min Chen Date: Fri, 9 Aug 2013 16:27:32 -0700 Subject: [PATCH] CLOUDSTACK-4129: select SSVM based on ImageCache data store instead of region wide image store. --- .../storage/endpoint/DefaultEndPointSelector.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java index d2ddfd46aea..0cd8ad3d020 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java +++ b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java @@ -166,7 +166,14 @@ public class DefaultEndPointSelector implements EndPointSelector { if (moveBetweenPrimaryImage(srcStore, destStore)) { return findEndPointForImageMove(srcStore, destStore); } else if (moveBetweenCacheAndImage(srcStore, destStore)) { - EndPoint ep = findEndpointForImageStorage(destStore); + // pick ssvm based on image cache dc + DataStore selectedStore = null; + if (srcStore.getRole() == DataStoreRole.ImageCache) { + selectedStore = srcStore; + } else { + selectedStore = destStore; + } + EndPoint ep = findEndpointForImageStorage(selectedStore); return ep; } else if (moveBetweenImages(srcStore, destStore)) { EndPoint ep = findEndpointForImageStorage(destStore);