Currenly it's working with virtio-blk because we check in QemuServer::vm_deviceplug if the virtio pci controller virtioX exist. (listing pci devices wih qmp)
But it don't work with scsi disk, because hotplugged devices are disks, and not pci controller This break update for disk throttle for example. Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- PVE/API2/Qemu.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index 985a9f8..1c64ca7 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -759,12 +759,16 @@ my $vmconfig_update_disk = sub { $rpcenv->check_vm_perm($authuser, $vmid, undef, ['VM.Config.Disk']); } + my $old_volid = undef; + if ($conf->{$opt}) { if (my $old_drive = PVE::QemuServer::parse_drive($opt, $conf->{$opt})) { my $media = $drive->{media} || 'disk'; my $oldmedia = $old_drive->{media} || 'disk'; + $old_volid = $drive->{file}; + die "unable to change media type\n" if $media ne $oldmedia; if (!PVE::QemuServer::drive_is_cdrom($old_drive) && @@ -822,8 +826,7 @@ my $vmconfig_update_disk = sub { } } - } else { # hotplug new disks - + } elsif (!$old_volid) { # hotplug new disks die "error hotplug $opt" if !PVE::QemuServer::vm_deviceplug($storecfg, $conf, $vmid, $opt, $drive); } }; -- 1.7.10.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel