[pve-devel] [PATCH 1/2] add qm disk resize
Alexandre DERUMIER
aderumier at odiso.com
Tue Aug 7 08:50:22 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).
yes, you are right, I think we can get value from volume_size_info.
>>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?
Ok, I'll work on it this week.
(How do you see that in pve-manager ? some kind of extendsize button with new button in hdedit form ?)
----- Mail original -----
De: "Dietmar Maurer" <dietmar at proxmox.com>
À: "Alexandre Derumier" <aderumier at odiso.com>, pve-devel at pve.proxmox.com
Envoyé: Mardi 7 Août 2012 07:51:55
Objet: RE: [pve-devel] [PATCH 1/2] add qm disk resize
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
--
--
Alexandre D e rumier
Ingénieur Systèmes et Réseaux
Fixe : 03 20 68 88 85
Fax : 03 20 68 90 88
45 Bvd du Général Leclerc 59100 Roubaix
12 rue Marivaux 75002 Paris
More information about the pve-devel
mailing list