[PATCH v4 qemu-server 04/11] blockdev: vm_devices_list : fix block-query
Alexandre Derumier
alexandre.derumier at groupe-cyllene.com
Tue Mar 11 11:28:56 CET 2025
Look at qdev value, as cdrom drives can be empty
without any inserted media
Signed-off-by: Alexandre Derumier <alexandre.derumier at groupe-cyllene.com>
---
PVE/QemuServer.pm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index faa17edb..5ccc026a 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -3937,11 +3937,12 @@ sub vm_devices_list {
$devices_to_check = $to_check;
}
+ #block devices need to be queried at qdev level, as a device
+ #don't always have a blockdev drive media attached (cdrom for example)
my $resblock = mon_cmd($vmid, 'query-block');
- foreach my $block (@$resblock) {
- if($block->{device} =~ m/^drive-(\S+)/){
- $devices->{$1} = 1;
- }
+ $resblock = { map { $_->{qdev} => $_ } $resblock->@* };
+ foreach my $blockid (keys %$resblock) {
+ $devices->{$blockid} = 1;
}
my $resmice = mon_cmd($vmid, 'query-mice');
--
2.39.5
More information about the pve-devel
mailing list