mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-06-15 13:12:15 +00:00
add cpu_hotplug
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
This commit is contained in:
parent
3bd18e48cf
commit
838776ab65
@ -989,6 +989,10 @@ my $update_vm_api = sub {
|
|||||||
PVE::QemuServer::vm_deviceunplug($vmid, $conf, $opt);
|
PVE::QemuServer::vm_deviceunplug($vmid, $conf, $opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($opt eq 'cores' && $conf->{maxcpus}){
|
||||||
|
PVE::QemuServer::qemu_cpu_hotplug($vmid, $conf, $param->{$opt});
|
||||||
|
}
|
||||||
|
|
||||||
$conf->{$opt} = $param->{$opt};
|
$conf->{$opt} = $param->{$opt};
|
||||||
PVE::QemuServer::update_config_nolock($vmid, $conf, 1);
|
PVE::QemuServer::update_config_nolock($vmid, $conf, 1);
|
||||||
}
|
}
|
||||||
|
@ -2943,6 +2943,26 @@ sub qemu_netdevdel {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub qemu_cpu_hotplug {
|
||||||
|
my ($vmid, $conf, $cores) = @_;
|
||||||
|
|
||||||
|
die "new cores config is not defined" if !$cores;
|
||||||
|
die "you can't add more cores than maxcpus" if $conf->{maxcpus} && ($cores > $conf->{maxcpus});
|
||||||
|
return if !check_running($vmid);
|
||||||
|
|
||||||
|
my $currentcores = $conf->{cores} if $conf->{cores};
|
||||||
|
die "current cores is not defined" if !$currentcores;
|
||||||
|
die "maxcpus is not defined" if !$conf->{maxcpus};
|
||||||
|
raise_param_exc({ 'cores' => "online cpu unplug is not yet possible" }) if($cores < $currentcores);
|
||||||
|
|
||||||
|
my $currentrunningcores = vm_mon_cmd($vmid, "query-cpus");
|
||||||
|
raise_param_exc({ 'cores' => "cores number if running vm is different than configuration" }) if scalar (@{$currentrunningcores}) != $currentcores;
|
||||||
|
|
||||||
|
for(my $i = $currentcores; $i < $cores; $i++){
|
||||||
|
vm_mon_cmd($vmid, "cpu-add", id => int($i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub qemu_block_set_io_throttle {
|
sub qemu_block_set_io_throttle {
|
||||||
my ($vmid, $deviceid, $bps, $bps_rd, $bps_wr, $iops, $iops_rd, $iops_wr) = @_;
|
my ($vmid, $deviceid, $bps, $bps_rd, $bps_wr, $iops, $iops_rd, $iops_wr) = @_;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user