[pve-devel] [PATCH 1/2] add qm disk resize

Dietmar Maurer dietmar at proxmox.com
Tue Aug 7 07:51:55 CEST 2012


I think this is simply too dangerous. You can't simply use the size 
hint ($old_drive->{size}) - that value can be totally wrong (just good 
enough to display on the gui).

Also, I do not think we should add this to the update API. Maybe a special
resize API is better suited, with extra  qm command:

# qm resize <vmid> -ide1 +10G

What do you think?
 

> -----Original Message-----
> From: pve-devel-bounces at pve.proxmox.com [mailto:pve-devel-
> bounces at pve.proxmox.com] On Behalf Of Alexandre Derumier
> Sent: Montag, 06. August 2012 11:57
> To: pve-devel at pve.proxmox.com
> Subject: [pve-devel] [PATCH 1/2] add qm disk resize
> 
> this add disk resizing if new size is bigger than old size.
> 
> if new size is lower than old size, we die (can't shrink).
> 
> if new size equal old size, we don't resize.
> 
> (shrinking should work in theory, but too dangerous)
> 
> qm set vmid -virtio0 storage:volume,size=XXG
> 
> Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
> ---
>  PVE/API2/Qemu.pm |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index
> 47c588f..b014e36 100644
> --- a/PVE/API2/Qemu.pm
> +++ b/PVE/API2/Qemu.pm
> @@ -701,6 +701,14 @@ my $vmconfig_update_disk = sub {
>                 &$safe_int_ne($drive->{iops_wr}, $old_drive->{iops_wr})) {
>                 PVE::QemuServer::qemu_block_set_io_throttle($vmid,"drive-
> $opt",$drive->{bps}, $drive->{bps_rd}, $drive->{bps_wr}, $drive->{iops},
> $drive->{iops_rd}, $drive->{iops_wr}) if
> !PVE::QemuServer::drive_is_cdrom($drive);
>              }
> +
> +	    if ($old_drive->{size} && $drive->{size} && $drive->{size} >
> $old_drive->{size}) {
> +               PVE::QemuServer::qemu_block_resize($vmid, "drive-$opt",
> $storecfg, $drive->{file}, $drive->{size});
> +	    }
> +	    elsif ($old_drive->{size} && $drive->{size} && $drive->{size} <
> $old_drive->{size}) {
> +	       die "can't shrink drive size";
> +	    }
> +
>  	}
>      }
> 
> --
> 1.7.2.5
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel




More information about the pve-devel mailing list