Repository: cloudstack
Updated Branches:
  refs/heads/master f28ade56f -> 3a52a83fa


Fixed root disk resize on deploy for RBD.

Signed-off-by: Wido den Hollander <w...@widodh.nl>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3a52a83f
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3a52a83f
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3a52a83f

Branch: refs/heads/master
Commit: 3a52a83faeaa72a8488b2db1253fef6d3308d708
Parents: f28ade5
Author: Logan Barfield <lbarfi...@tqhosting.com>
Authored: Thu Oct 30 16:18:52 2014 -0400
Committer: Wido den Hollander <w...@widodh.nl>
Committed: Fri Oct 31 22:17:27 2014 +0100

----------------------------------------------------------------------
 .../cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java  | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3a52a83f/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 af7a0e0..c882a78 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);

Reply via email to