Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- PVE/QemuServer.pm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index fb672eb..5e02734 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -165,8 +165,10 @@ my $confdesc = { }, hotplug => { optional => 1, - type => 'boolean', + type => 'integer', description => "Allow hotplug for disk and network device", + minimum => 0, + maximum => 2, default => 1, }, reboot => { @@ -2591,6 +2593,14 @@ sub vm_deviceunplug { my $devices_list = vm_devices_list($vmid); return 1 if !defined($devices_list->{$deviceid}); + if ($deviceid =~ m/^(net)(\d+)$/) { + return undef if !qemu_netdevdel($vmid, $deviceid); + qemu_devicedel($vmid, $deviceid); + return undef if !qemu_devicedelverify($vmid, $deviceid); + } + + return 1 if (!$conf->{hotplug} || (defined($conf->{hotplug}) && $conf->{hotplug} < 2)); + die "can't unplug bootdisk" if $conf->{bootdisk} && $conf->{bootdisk} eq $deviceid; if ($deviceid =~ m/^(virtio)(\d+)$/) { @@ -2608,12 +2618,6 @@ sub vm_deviceunplug { return undef if !qemu_drivedel($vmid, $deviceid); } - if ($deviceid =~ m/^(net)(\d+)$/) { - return undef if !qemu_netdevdel($vmid, $deviceid); - qemu_devicedel($vmid, $deviceid); - return undef if !qemu_devicedelverify($vmid, $deviceid); - } - return 1; } -- 1.7.10.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel