From: Fiona Ebner <f.ebner@proxmox.com>
To: "Michael Köppl" <m.koeppl@proxmox.com>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH storage v9 01/10] fix #3711: vdisk_free: print warning if storage does not exist
Date: Tue, 30 Jun 2026 16:21:37 +0200 [thread overview]
Message-ID: <885d0e46-94e6-4328-a913-1353ae0a88c6@proxmox.com> (raw)
In-Reply-To: <20260629140439.184878-2-m.koeppl@proxmox.com>
Am 29.06.26 um 4:05 PM schrieb Michael Köppl:
> Removing a guest or one of its volumes should not fail when the volume's
> backing storage does not exist in the configuration. Instead of dying,
> warn and return so the removal can proceed. From PVE's point of view,
> the volume is gone anyway. Pass the noerr flag to storage_config() so
> this case is actually reached.
>
> Signed-off-by: Michael Köppl <m.koeppl@proxmox.com>
> ---
> src/PVE/Storage.pm | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm
> index 64ea9dad..55462ff6 100755
> --- a/src/PVE/Storage.pm
> +++ b/src/PVE/Storage.pm
> @@ -1187,7 +1187,12 @@ sub vdisk_free {
> my ($cfg, $volid) = @_;
>
> my ($storeid, $volname) = parse_volume_id($volid);
> - my $scfg = storage_config($cfg, $storeid);
> + my $scfg = storage_config($cfg, $storeid, 1);
> + if (!$scfg) {
> + log_warn("storage '$storeid' does not exist, volume '$volid' could not be freed");
> + return;
> + }
> +
> my $plugin = PVE::Storage::Plugin->lookup($scfg->{type});
>
> activate_storage($cfg, $storeid);
Not sure about this one. Note that vdisk_free() is also used for the
DELETE API, so the volume ID can also be user input and not something
generated by our stack. While the API call still returns an error code
for an invalid volume ID, that's more by chance, because of an earlier
call to path(). Failing does seem more natural and callers can decide
what they want to do. This change is not required for the rest of the
series to work or is it?
next prev parent reply other threads:[~2026-06-30 14:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-29 14:04 [PATCH container/qemu-server/storage v9 00/10] fix #3711 and adapt drive detach/remove behavior Michael Köppl
2026-06-29 14:04 ` [PATCH storage v9 01/10] fix #3711: vdisk_free: print warning if storage does not exist Michael Köppl
2026-06-30 14:21 ` Fiona Ebner [this message]
2026-07-01 10:01 ` Michael Köppl
2026-06-29 14:04 ` [PATCH container v9 02/10] fix #3711: warn about storage errors during mountpoint delete Michael Köppl
2026-06-29 14:04 ` [PATCH container v9 03/10] destroy_lxc, delete_mp_volume: rename $volume to $volid Michael Köppl
2026-06-29 14:04 ` [PATCH container v9 04/10] config: ensure valid volid through parse_volume() Michael Köppl
2026-06-29 14:04 ` [PATCH container v9 05/10] allow pending mount point changes if storage is gone Michael Köppl
2026-06-30 13:41 ` Fiona Ebner
2026-07-01 12:15 ` Michael Köppl
2026-07-01 12:22 ` Fiona Ebner
2026-06-29 14:04 ` [PATCH container v9 06/10] add linked clone check when destroying container template Michael Köppl
2026-06-30 13:57 ` Fiona Ebner
2026-06-29 14:04 ` [PATCH qemu-server v9 07/10] adapt linked clone check to not die if an error occurs during check Michael Köppl
2026-06-30 14:04 ` Fiona Ebner
2026-06-29 14:04 ` [PATCH qemu-server v9 08/10] fix #3711: make removal of VM possible if store does not exist anymore Michael Köppl
2026-06-29 14:04 ` [PATCH qemu-server v9 09/10] destroy_vm: use log_warn for vdisk_free errors for consistency Michael Köppl
2026-06-29 14:04 ` [PATCH qemu-server v9 10/10] display warnings for storage errors or if storage no longer exists Michael Köppl
2026-06-30 14:23 ` [PATCH container/qemu-server/storage v9 00/10] fix #3711 and adapt drive detach/remove behavior Fiona Ebner
2026-07-01 14:14 ` superseded: " Michael Köppl
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=885d0e46-94e6-4328-a913-1353ae0a88c6@proxmox.com \
--to=f.ebner@proxmox.com \
--cc=m.koeppl@proxmox.com \
--cc=pve-devel@lists.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