current qemu_dimm_list can return any kind of memory devices. make it more generic, with a regex filter to choose kind of device from id.
Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- PVE/QemuServer/Memory.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PVE/QemuServer/Memory.pm b/PVE/QemuServer/Memory.pm index c912e4f..a13b3a1 100644 --- a/PVE/QemuServer/Memory.pm +++ b/PVE/QemuServer/Memory.pm @@ -333,7 +333,7 @@ sub qemu_memory_hotplug { while (1) { eval { PVE::QemuServer::qemu_devicedel($vmid, $name) }; sleep 3; - my $dimm_list = qemu_dimm_list($vmid); + my $dimm_list = qemu_memdevices_list($vmid, '^dimm(\d+)$'); last if !$dimm_list->{$name}; raise_param_exc({ $name => "error unplug memory module" }) if $retry > 5; $retry++; @@ -363,14 +363,14 @@ sub can_hotplug { return 1; } -sub qemu_dimm_list { - my ($vmid) = @_; +sub qemu_memdevices_list { + my ($vmid, $filter) = @_; my $dimmarray = mon_cmd($vmid, "query-memory-devices"); my $dimms = {}; foreach my $dimm (@$dimmarray) { - + next if $filter && $dimm->{data}->{id} !~ /$filter/; $dimms->{$dimm->{data}->{id}}->{id} = $dimm->{data}->{id}; $dimms->{$dimm->{data}->{id}}->{node} = $dimm->{data}->{node}; $dimms->{$dimm->{data}->{id}}->{addr} = $dimm->{data}->{addr}; -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel