[PATCH qemu-server 03/10] hotplug: drive controller : use print_drivedevice_iothread && print_drivedevice_controller

Alexandre Derumier alexandre.derumier at groupe-cyllene.com
Wed Jul 2 16:48:53 CEST 2025


Signed-off-by: Alexandre Derumier <alexandre.derumier at groupe-cyllene.com>
---
 src/PVE/QemuServer.pm | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm
index 6b26c7d3..215c070d 100644
--- a/src/PVE/QemuServer.pm
+++ b/src/PVE/QemuServer.pm
@@ -3745,21 +3745,11 @@ sub vm_deviceplug {
         }
     } elsif ($deviceid =~ m/^(virtioscsi|scsihw)(\d+)$/) {
         my $scsihw = defined($conf->{scsihw}) ? $conf->{scsihw} : "lsi";
-        my $pciaddr = print_pci_addr($deviceid, undef, $arch);
-        my $scsihw_type = $scsihw eq 'virtio-scsi-single' ? "virtio-scsi-pci" : $scsihw;
-
-        my $devicefull = "$scsihw_type,id=$deviceid$pciaddr";
-
-        if ($deviceid =~ m/^virtioscsi(\d+)$/ && $device->{iothread}) {
-            qemu_iothread_add($vmid, $deviceid, $device);
-            $devicefull .= ",iothread=iothread-$deviceid";
-        }
+        my $iothread = print_drivedevice_iothread($conf, $device);
+        my $controller = print_drivedevice_controller($conf, $device, $scsihw, $arch);
 
-        if ($deviceid =~ m/^virtioscsi(\d+)$/ && $device->{queues}) {
-            $devicefull .= ",num_queues=$device->{queues}";
-        }
-
-        qemu_deviceadd($vmid, $devicefull);
+        qemu_iothread_add($vmid, $deviceid, $device) if $iothread;
+        qemu_deviceadd($vmid, $controller);
         qemu_deviceaddverify($vmid, $deviceid);
     } elsif ($deviceid =~ m/^(scsi)(\d+)$/) {
         qemu_findorcreatescsihw($storecfg, $conf, $vmid, $device, $arch, $machine_type);
-- 
2.39.5




More information about the pve-devel mailing list