From 3a52a83faeaa72a8488b2db1253fef6d3308d708 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 --- .../hypervisor/kvm/storage/LibvirtStorageAdaptor.java | 8 ++++++++ 1 file changed, 8 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 af7a0e0bdea..c882a787482 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 @@ -1083,6 +1083,14 @@ public class LibvirtStorageAdaptor implements StorageAdaptor { rbd.clone(template.getName(), rbdTemplateSnapName, io, disk.getName(), rbdFeatures, rbdOrder); s_logger.debug("Succesfully cloned " + template.getName() + "@" + 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);