Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- PVE/QemuServer.pm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index df9ce74..a212183 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -3537,6 +3537,10 @@ sub vmconfig_hotplug_pending { } elsif ($opt eq 'cores') { die "skip\n" if !$hotplug; qemu_cpu_hotplug($vmid, $conf, 1); + } elsif ($opt eq 'balloon') { + #enable balloon device is not hotpluggable + die "skip\n" if ((defined($conf->{balloon})) && ($conf->{balloon} == 0)); + } elsif ($opt eq 'shares') { } elsif ($opt =~ m/^net(\d+)$/) { die "skip\n" if !$hotplug; vm_deviceunplug($vmid, $conf, $opt); @@ -3574,10 +3578,15 @@ sub vmconfig_hotplug_pending { die "skip\n" if !$hotplug; qemu_cpu_hotplug($vmid, $conf, $value); } elsif ($opt eq 'balloon') { - die "skip\n" if !(defined($conf->{shares}) && ($conf->{shares} == 0)); + # disable balloning device is not hotpluggable + die "skip\n" if ((defined($conf->{pending}->{balloon})) && ($conf->{pending}->{balloon} == 0)); + # enable balloning device is not hotpluggable + die "skip\n" if ((defined($conf->{balloon})) && ($conf->{balloon} == 0)); # allow manual ballooning if shares is set to zero - my $balloon = $conf->{pending}->{balloon} || $conf->{memory} || $defaults->{memory}; - vm_mon_cmd($vmid, "balloon", value => $balloon*1024*1024); + if (!(defined($conf->{shares}) && ($conf->{shares} == 0))) { + my $balloon = $conf->{pending}->{balloon} || $conf->{memory} || $defaults->{memory}; + vm_mon_cmd($vmid, "balloon", value => $balloon*1024*1024); + } } elsif ($opt =~ m/^net(\d+)$/) { # some changes can be done without hotplug vmconfig_update_net($storecfg, $conf, $vmid, $opt, $value); -- 1.7.10.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel