Fixed root disk resize on deploy for RBD. Signed-off-by: Wido den Hollander <w...@widodh.nl> (cherry picked from commit 3a52a83faeaa72a8488b2db1253fef6d3308d708) Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>
Conflicts: plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3a36681b Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3a36681b Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3a36681b Branch: refs/heads/master Commit: 3a36681b6edbf317ef75ca96acb24522ca341556 Parents: bf9e1ae Author: Logan Barfield <lbarfi...@tqhosting.com> Authored: Thu Oct 30 16:18:52 2014 -0400 Committer: Rohit Yadav <rohit.ya...@shapeblue.com> Committed: Tue Dec 2 01:56:37 2014 +0530 ---------------------------------------------------------------------- .../cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java | 7 +++++++ 1 file changed, 7 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3a36681b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java index ea3e1d6..86176d2 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java @@ -1080,6 +1080,13 @@ public class LibvirtStorageAdaptor implements StorageAdaptor { rbd.clone(template.getName(), this.rbdTemplateSnapName, io, disk.getName(), this.rbdFeatures, this.rbdOrder); s_logger.debug("Succesfully cloned " + template.getName() + "@" + this.rbdTemplateSnapName + " to " + disk.getName()); + /* We also need to resize the image if the VM was deployed with a larger root disk size */ + if (disk.getVirtualSize() > template.getVirtualSize()) { + RbdImage diskImage = rbd.open(disk.getName()); + diskImage.resize(disk.getVirtualSize()); + rbd.close(diskImage); + s_logger.debug("Resized " + disk.getName() + " to " + disk.getVirtualSize()); + } } rbd.close(srcImage);