From 3a36681b6edbf317ef75ca96acb24522ca341556 Mon Sep 17 00:00:00 2001 From: Logan Barfield Date: Thu, 30 Oct 2014 16:18:52 -0400 Subject: [PATCH] Fixed root disk resize on deploy for RBD. Signed-off-by: Wido den Hollander (cherry picked from commit 3a52a83faeaa72a8488b2db1253fef6d3308d708) Signed-off-by: Rohit Yadav Conflicts: plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java --- .../hypervisor/kvm/storage/LibvirtStorageAdaptor.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 ea3e1d6016d..86176d27956 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);