Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- PVE/QemuServer.pm | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 3cd4475..fe40140 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -67,6 +67,17 @@ PVE::JSONSchema::register_standard_option('pve-snapshot-name', { #no warnings 'redefine'; +sub cgroups_write { + my ($controller, $vmid, $option, $value) = @_; + + my $root_path = "/sys/fs/cgroup/"; + my $vm_path = $root_path.$controller."/qemu.slice/$vmid.scope"; + return if !$vm_path; + + PVE::ProcFSTools::write_proc_entry("$vm_path/$option", $value); + +} + unless(defined(&_VZSYSCALLS_H_)) { eval 'sub _VZSYSCALLS_H_ () {1;}' unless defined(&_VZSYSCALLS_H_); require 'sys/syscall.ph'; @@ -3906,6 +3917,8 @@ sub vmconfig_hotplug_pending { } elsif ($opt =~ m/^memory$/) { die "skip\n" if !$hotplug_features->{memory}; qemu_memory_hotplug($vmid, $conf, $defaults, $opt); + } elsif ($opt eq 'cpuunits') { + cgroups_write("cpu", $vmid, "cpu.shares", $defaults->{cpuunits}); } else { die "skip\n"; } @@ -3959,6 +3972,8 @@ sub vmconfig_hotplug_pending { } elsif ($opt =~ m/^memory$/) { #dimms die "skip\n" if !$hotplug_features->{memory}; $value = qemu_memory_hotplug($vmid, $conf, $defaults, $opt, $value); + } elsif ($opt eq 'cpuunits') { + cgroups_write("cpu", $vmid, "cpu.shares", $conf->{pending}->{$opt}); } else { die "skip\n"; # skip non-hot-pluggable options } -- 2.1.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel