anuragaw commented on a change in pull request #3276: [WIP DO NOT MERGE] Add
proper state transitions for attaching disk in allocated state
URL: https://github.com/apache/cloudstack/pull/3276#discussion_r276564979
##########
File path: server/src/com/cloud/storage/VolumeApiServiceImpl.java
##########
@@ -1920,12 +1920,13 @@ private Volume orchestrateDetachVolumeFromVM(long
vmId, long volumeId) {
// Mark the volume as detached
_volsDao.detachVolume(volume.getId());
- // volume.getPoolId() should be null if the VM we are detaching
the disk from has never been started before
- DataStore dataStore = volume.getPoolId() != null ?
dataStoreMgr.getDataStore(volume.getPoolId(), DataStoreRole.Primary) : null;
-
- volService.revokeAccess(volFactory.getVolume(volume.getId()),
host, dataStore);
-
- handleTargetsForVMware(hostId, volumePool.getHostAddress(),
volumePool.getPort(), volume.get_iScsiName());
+ // volumePool() should be null if the VM we are detaching the disk
from has never been started before
+ // only revoke access on volumes that are actually on a datastore
+ if (volumePool != null) {
Review comment:
If the volumePool was null initially the dataStore was null in previous
implementation and revokeAccess did nothing. That happens after this check as
well.
Also I don't think it should be null as the
```handleTargetsForVMWare(hostId,volumePool.getHostAddress()...``` would crash.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services