Fix usage volume size after resizing (#9459)

Co-authored-by: Henrique Sato <henrique.sato@scclouds.com.br>
This commit is contained in:
Henrique Sato 2024-08-26 09:41:49 -03:00 committed by GitHub
parent de3537c98a
commit 2209702741
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1431,7 +1431,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
private VolumeVO orchestrateResizeVolume(long volumeId, long currentSize, long newSize, Long newMinIops, Long newMaxIops, Integer newHypervisorSnapshotReserve, Long newDiskOfferingId, private VolumeVO orchestrateResizeVolume(long volumeId, long currentSize, long newSize, Long newMinIops, Long newMaxIops, Integer newHypervisorSnapshotReserve, Long newDiskOfferingId,
boolean shrinkOk) { boolean shrinkOk) {
final VolumeVO volume = _volsDao.findById(volumeId); VolumeVO volume = _volsDao.findById(volumeId);
UserVmVO userVm = _userVmDao.findById(volume.getInstanceId()); UserVmVO userVm = _userVmDao.findById(volume.getInstanceId());
StoragePoolVO storagePool = _storagePoolDao.findById(volume.getPoolId()); StoragePoolVO storagePool = _storagePoolDao.findById(volume.getPoolId());
boolean isManaged = storagePool.isManaged(); boolean isManaged = storagePool.isManaged();
@ -1538,12 +1538,12 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
} }
// Update size if volume has same size as before, else it is already updated // Update size if volume has same size as before, else it is already updated
final VolumeVO volumeNow = _volsDao.findById(volumeId); volume = _volsDao.findById(volumeId);
if (currentSize == volumeNow.getSize() && currentSize != newSize) { if (currentSize == volume.getSize() && currentSize != newSize) {
volume.setSize(newSize); volume.setSize(newSize);
} else if (volumeNow.getSize() != newSize) { } else if (volume.getSize() != newSize) {
// consider the updated size as the new size // consider the updated size as the new size
newSize = volumeNow.getSize(); newSize = volume.getSize();
} }
_volsDao.update(volume.getId(), volume); _volsDao.update(volume.getId(), volume);