Skip to content

Commit b7470bc

Browse files
authored
server: fix NPE for the case where volume is not attached to a VM (#3566)
Fixes NPE when trying to find suitable storage pools for a volume when the volume is not attached to a VM. Signed-off-by: Rohit Yadav <[email protected]>
1 parent 77f9ab2 commit b7470bc

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

server/src/main/java/com/cloud/server/ManagementServerImpl.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@
3737
import javax.inject.Inject;
3838
import javax.naming.ConfigurationException;
3939

40-
import com.cloud.storage.ScopeType;
41-
import com.cloud.hypervisor.kvm.dpdk.DpdkHelper;
4240
import org.apache.cloudstack.acl.ControlledEntity;
4341
import org.apache.cloudstack.affinity.AffinityGroupProcessor;
4442
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
@@ -613,6 +611,7 @@
613611
import com.cloud.hypervisor.HypervisorCapabilities;
614612
import com.cloud.hypervisor.HypervisorCapabilitiesVO;
615613
import com.cloud.hypervisor.dao.HypervisorCapabilitiesDao;
614+
import com.cloud.hypervisor.kvm.dpdk.DpdkHelper;
616615
import com.cloud.info.ConsoleProxyInfo;
617616
import com.cloud.network.IpAddress;
618617
import com.cloud.network.dao.IPAddressDao;
@@ -639,6 +638,7 @@
639638
import com.cloud.storage.GuestOSHypervisorVO;
640639
import com.cloud.storage.GuestOSVO;
641640
import com.cloud.storage.GuestOsCategory;
641+
import com.cloud.storage.ScopeType;
642642
import com.cloud.storage.StorageManager;
643643
import com.cloud.storage.StoragePool;
644644
import com.cloud.storage.Volume;
@@ -1442,7 +1442,11 @@ public Pair<List<? extends StoragePool>, List<? extends StoragePool>> listStorag
14421442
StoragePool srcVolumePool = _poolDao.findById(volume.getPoolId());
14431443
allPools = getAllStoragePoolCompatileWithVolumeSourceStoragePool(srcVolumePool);
14441444
allPools.remove(srcVolumePool);
1445-
suitablePools = findAllSuitableStoragePoolsForVm(volume, vm, srcVolumePool);
1445+
if (vm != null) {
1446+
suitablePools = findAllSuitableStoragePoolsForVm(volume, vm, srcVolumePool);
1447+
} else {
1448+
suitablePools = allPools;
1449+
}
14461450

14471451
return new Pair<List<? extends StoragePool>, List<? extends StoragePool>>(allPools, suitablePools);
14481452
}

0 commit comments

Comments
 (0)