mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Fix storage cleanup corner case preventing VM deletion (#5575)
* Fix storage cleanup corner case * Improve deletion * Refactor
This commit is contained in:
parent
26b5d9423a
commit
a5372a98dc
@ -1869,6 +1869,7 @@ public class VolumeServiceImpl implements VolumeService {
|
|||||||
|
|
||||||
long sourceVolumeId = sourceVolume.getId();
|
long sourceVolumeId = sourceVolume.getId();
|
||||||
volDao.updateUuid(sourceVolumeId, destinationVolume.getId());
|
volDao.updateUuid(sourceVolumeId, destinationVolume.getId());
|
||||||
|
volDao.detachVolume(sourceVolumeId);
|
||||||
|
|
||||||
s_logger.info(String.format("Cleaning up %s on storage [%s].", sourceVolumeVo.getVolumeDescription(), sourceVolumeVo.getPoolId()));
|
s_logger.info(String.format("Cleaning up %s on storage [%s].", sourceVolumeVo.getVolumeDescription(), sourceVolumeVo.getPoolId()));
|
||||||
destroyVolume(sourceVolumeId);
|
destroyVolume(sourceVolumeId);
|
||||||
@ -2063,6 +2064,7 @@ public class VolumeServiceImpl implements VolumeService {
|
|||||||
srcVolume.processEvent(Event.OperationSuccessed);
|
srcVolume.processEvent(Event.OperationSuccessed);
|
||||||
destVolume.processEvent(Event.MigrationCopySucceeded, result.getAnswer());
|
destVolume.processEvent(Event.MigrationCopySucceeded, result.getAnswer());
|
||||||
volDao.updateUuid(srcVolume.getId(), destVolume.getId());
|
volDao.updateUuid(srcVolume.getId(), destVolume.getId());
|
||||||
|
volDao.detachVolume(srcVolume.getId());
|
||||||
try {
|
try {
|
||||||
destroyVolume(srcVolume.getId());
|
destroyVolume(srcVolume.getId());
|
||||||
srcVolume = volFactory.getVolume(srcVolume.getId());
|
srcVolume = volFactory.getVolume(srcVolume.getId());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user