From bf67da2bf7d746dce29c5ab798116fe6a4cb8cec Mon Sep 17 00:00:00 2001 From: Aaron Lauterer Date: Wed, 10 Nov 2021 18:00:13 +0100 Subject: [PATCH] disk reassign: add unused disks directly to config Using $update_vm_api for unused disks will cause them to end up as a pending change if the VM is running. Signed-off-by: Aaron Lauterer --- PVE/API2/Qemu.pm | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index 4404da90..24b1d2fe 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -3607,15 +3607,21 @@ __PACKAGE__->register_method({ PVE::QemuConfig->write_config($vmid, $source_conf); my $drive_string = PVE::QemuServer::print_drive($drive); - &$update_vm_api( - { - node => $node, - vmid => $target_vmid, - digest => $target_digest, - $target_disk => $drive_string, - }, - 1, - ); + + if ($target_disk =~ /^unused\d+$/) { + $target_conf->{$target_disk} = $drive_string; + PVE::QemuConfig->write_config($target_vmid, $target_conf); + } else { + &$update_vm_api( + { + node => $node, + vmid => $target_vmid, + digest => $target_digest, + $target_disk => $drive_string, + }, + 1, + ); + } # remove possible replication snapshots if (PVE::Storage::volume_has_feature(