From 0243f043cb4814b0c8dbb13f44c34436db50de87 Mon Sep 17 00:00:00 2001 From: Min Chen Date: Tue, 6 Aug 2013 15:21:36 -0700 Subject: [PATCH] CLOUDSTACK-4116: don't update db if hypervisor storage processor does not return volume size. --- .../apache/cloudstack/storage/volume/VolumeObject.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java index da90dc325b5..404e3b24404 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java @@ -471,7 +471,9 @@ public class VolumeObject implements VolumeInfo { VolumeVO vol = this.volumeDao.findById(this.getId()); VolumeObjectTO newVol = (VolumeObjectTO) cpyAnswer.getNewData(); vol.setPath(newVol.getPath()); - vol.setSize(newVol.getSize()); + if (newVol.getSize() != null) { + vol.setSize(newVol.getSize()); + } vol.setPoolId(this.getDataStore().getId()); volumeDao.update(vol.getId(), vol); } else if (answer instanceof CreateObjectAnswer) { @@ -479,7 +481,9 @@ public class VolumeObject implements VolumeInfo { VolumeObjectTO newVol = (VolumeObjectTO) createAnswer.getData(); VolumeVO vol = this.volumeDao.findById(this.getId()); vol.setPath(newVol.getPath()); - vol.setSize(newVol.getSize()); + if (newVol.getSize() != null) { + vol.setSize(newVol.getSize()); + } vol.setPoolId(this.getDataStore().getId()); volumeDao.update(vol.getId(), vol); }