--- Begin Message ---
Look at qdev value, as cdrom drives can be empty
without any inserted media
Signed-off-by: Alexandre Derumier <alexandre.derum...@groupe-cyllene.com>
---
PVE/QemuServer.pm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 11bdc9ff..02bbadd4 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -3997,11 +3997,22 @@ 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).
+ # Also top node of the graph could have a different name than the device
+ # (we still use "drive-$deviceid" for throttle filter, but it's not 100%
safe
+ # if we change that in the future
my $resblock = mon_cmd($vmid, 'query-block');
foreach my $block (@$resblock) {
- if($block->{device} =~ m/^drive-(\S+)/){
- $devices->{$1} = 1;
- }
+ my $qdev_id = $block->{qdev};
+ if ($qdev_id =~ m|^/machine/peripheral/(virtio(\d+))/virtio-backend$|) {
+ $qdev_id = $1;
+ } elsif ($qdev_id =~ m|^/machine/system.flash0$|) {
+ $qdev_id = 'pflash0';
+ } elsif ($qdev_id =~ m|^/machine/system.flash1$|) {
+ $qdev_id = 'efidisk0';
+ }
+ $devices->{$qdev_id} = 1 if $qdev_id;
}
my $resmice = mon_cmd($vmid, 'query-mice');
--
2.39.5
--- End Message ---
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel