throws ConcurrentOperationException, StorageUnavailableException {
// Find a destination storage pool with the specified criteria
DiskOfferingVO diskOffering = _diskOfferingDao.findById(volume
.getDiskOfferingId());
DiskProfile dskCh = new DiskProfile(volume.getId(),
volume.getVolumeType(), volume.getName(), diskOffering.getId(),
diskOffering.getDiskSize(), diskOffering.getTagsArray(),
diskOffering.getUseLocalStorage(),
diskOffering.isRecreatable(), null);
dskCh.setHyperType(dataDiskHyperType);
DataCenterVO destPoolDataCenter = _dcDao.findById(destPoolDcId);
HostPodVO destPoolPod = _podDao.findById(destPoolPodId);
StoragePool destPool = storageMgr.findStoragePool(dskCh,
destPoolDataCenter, destPoolPod, destPoolClusterId, null, null,