public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Andrei Perapiolkin via pve-devel <pve-devel@lists.proxmox.com>
To: Fiona Ebner <f.ebner@proxmox.com>,
	Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Cc: Andrei Perapiolkin <andrei.perepiolkin@open-e.com>
Subject: Re: [pve-devel] Handling 'path' requests during VM deletion
Date: Mon, 8 Sep 2025 16:08:01 -0400	[thread overview]
Message-ID: <mailman.353.1757362122.418.pve-devel@lists.proxmox.com> (raw)
In-Reply-To: <e15c8778-88dc-4e8f-b2fe-19da6c1f4b1e@proxmox.com>

[-- Attachment #1: Type: message/rfc822, Size: 8949 bytes --]

From: Andrei Perapiolkin <andrei.perepiolkin@open-e.com>
To: Fiona Ebner <f.ebner@proxmox.com>, Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] Handling 'path' requests during VM deletion
Date: Mon, 8 Sep 2025 16:08:01 -0400
Message-ID: <472f7cfb-f105-4e71-834f-8c3352ee82df@open-e.com>

Hi Fiona,


Thank you for your reply.

I have added a bug report: https://bugzilla.proxmox.com/show_bug.cgi?id=6776


I also decided to return an empty string ('') for volumes that do not exist.

My reasoning is that if I return any path that might actually exist, 
some parts of the Proxmox system could try to open, read, or write to 
this "file,"  unintentionally creating it.
This could corrupt the server’s file system, or consume disk space if 
the server has limited local storage — for example, when the operation 
involves cloning a multi-terabyte data block.

I would like to hear your opinion regarding this conclusion.
Is it acceptable, or should I re-evaluate it?


Best regards,
Andrei Perepiolkin

On 8/14/25 11:11, Fiona Ebner wrote:
> Hi Andrei,
>
> Am 07.08.25 um 11:39 PM schrieb Andrei Perapiolkin via pve-devel:
>> Hi,
>>
>> VM deletion retries 'path'/'free_image' for already-removed volumes; expected plugin behavior on missing volumes is unclear.
>>
>> When deleting a VM with multiple attached volumes, Proxmox deletes volumes sequentially (one at a time) and
>> updates the VM record only after all deletions complete.
> Could you please file a bug for this: https://bugzilla.proxmox.com ?
>
>> If a volume deletion fails mid-process (e.g., network error), the VM record is not updated even though some volumes may have been successfully removed.
>> A subsequent delete attempt repeats all operations, including 'path' (and 'free_image') calls for volumes that were already deleted.
>>
>>
>> What is the proper response to 'path' and 'free_image' calls for a volume that no longer exists?
>> For path, should the call fail (e.g., 'die'), succeed with an empty string, or return a 'storage path'?
> (Most) implementations of path() for plugins shipped by us [0] do not do
> any I/O at all and thus don't check if the image actually exist. So you
> can return the path, even if the volume does not exist.
>
> Some of our implementations of free_image() fail if the volume does not
> exist, some do not. Nothing should break if you indicate success when
> free_image() is called and the image does not exist.
>
> [0]:
> https://git.proxmox.com/?p=pve-storage.git;a=tree;f=src/PVE/Storage;h=26012be26cb3c24515e99a02e7ad438f29c81646;hb=HEAD
>
> Best Regards,
> Fiona
>


[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

  reply	other threads:[~2025-09-08 20:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-07 21:34 Andrei Perapiolkin via pve-devel
2025-08-14 15:11 ` Fiona Ebner
2025-09-08 20:08   ` Andrei Perapiolkin via pve-devel [this message]
     [not found]   ` <472f7cfb-f105-4e71-834f-8c3352ee82df@open-e.com>
2025-09-09  9:54     ` Fiona Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=mailman.353.1757362122.418.pve-devel@lists.proxmox.com \
    --to=pve-devel@lists.proxmox.com \
    --cc=andrei.perepiolkin@open-e.com \
    --cc=f.ebner@proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal