[pve-devel] [PATCH qemu-server] fix #4358: destroy_vm: Ignore 'suspended' lock when destroying VM
Stefan Hanreich
s.hanreich at proxmox.com
Tue Jan 3 16:52:32 CET 2023
On 1/3/23 16:43, Thomas Lamprecht wrote:
> Am 03/01/2023 um 15:45 schrieb Stefan Hanreich:
>> Since there is not really a reason why hibernated VMs shouldn't be
>
> IMO the key that this is safe is that there's now (well since quite a while)
> two locks so that going into suspension and being actually suspended can be
> differentiated via the `suspending` (not safe) and `suspended` (safe) locks.
> Maybe that could be worked in the commit message (could do son on applying it)
>
>> able to be removed, we can safely ignore the 'suspended' lock in
>> destroy_vm.
> Is the saved VM state then actually cleaned up?
Yes, I just (double-)checked. Both disk image and suspended state get
removed.
>
> Maybe a extra hint for such things in the web UI could be nice, but
> must not necessarily be tied to this patch (series).
Should not be too hard to add, I'll make a v2 with the proposed changes
to the commit message?
>
>>
>> Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
>> ---
>> PVE/QemuServer.pm | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
>> index 39fc6b0..5dae168 100644
>> --- a/PVE/QemuServer.pm
>> +++ b/PVE/QemuServer.pm
>> @@ -2341,7 +2341,9 @@ sub destroy_vm {
>>
>> my $conf = PVE::QemuConfig->load_config($vmid);
>>
>> - PVE::QemuConfig->check_lock($conf) if !$skiplock;
>> + if (!$skiplock && !PVE::QemuConfig->has_lock($conf, 'suspended')) {
>> + PVE::QemuConfig->check_lock($conf);
>> + }
>>
>> if ($conf->{template}) {
>> # check if any base image is still used by a linked clone
>
More information about the pve-devel
mailing list