snapshot path is accountId + volumeid

This commit is contained in:
Edison Su 2013-05-14 10:52:04 -07:00
parent 2102ede2e7
commit 12583bbffc

View File

@ -23,6 +23,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo;
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateEvent; import org.apache.cloudstack.engine.subsystem.api.storage.TemplateEvent;
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateState; import org.apache.cloudstack.engine.subsystem.api.storage.TemplateState;
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
@ -140,12 +141,13 @@ public class ObjectInDataStoreManagerImpl implements ObjectInDataStoreManager {
ts = templateDataStoreDao.persist(ts); ts = templateDataStoreDao.persist(ts);
break; break;
case SNAPSHOT: case SNAPSHOT:
SnapshotInfo snapshot = (SnapshotInfo)obj;
SnapshotDataStoreVO ss = new SnapshotDataStoreVO(); SnapshotDataStoreVO ss = new SnapshotDataStoreVO();
ss.setSnapshotId(obj.getId()); ss.setSnapshotId(obj.getId());
ss.setDataStoreId(dataStore.getId()); ss.setDataStoreId(dataStore.getId());
ss.setRole(dataStore.getRole()); ss.setRole(dataStore.getRole());
ss.setRole(dataStore.getRole()); ss.setRole(dataStore.getRole());
ss.setInstallPath(TemplateConstants.DEFAULT_SNAPSHOT_ROOT_DIR + "/" + snapshotDao.findById(obj.getId()).getAccountId() + "/" + obj.getId()); ss.setInstallPath(TemplateConstants.DEFAULT_SNAPSHOT_ROOT_DIR + "/" + snapshotDao.findById(obj.getId()).getAccountId() + "/" + snapshot.getVolumeId());
ss.setState(ObjectInDataStoreStateMachine.State.Allocated); ss.setState(ObjectInDataStoreStateMachine.State.Allocated);
ss = snapshotDataStoreDao.persist(ss); ss = snapshotDataStoreDao.persist(ss);
break; break;