From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Fabian Ebner <f.ebner@proxmox.com>
Subject: Re: [pve-devel] [PATCH storage 1/2] vdisk list: only collect images from storages with an appropriate content type
Date: Mon, 15 Mar 2021 13:34:43 +0100 [thread overview]
Message-ID: <0fe82c9c-7deb-ef0f-bc2b-183a621f9356@proxmox.com> (raw)
In-Reply-To: <20210312095027.19451-1-f.ebner@proxmox.com>
On 12.03.21 10:50, Fabian Ebner wrote:
> Only these storages are activated in the first place, and it's bad behavior to
> list images when no appropriate content type is not set.
>
> For example, on VM destruction, this avoids unreferenced images to be deleted
> from a storage with only 'backup' content type set, which is supposedly what
> happened in this[0] forum thread.
>
Seems to be related to a patch of mine, not that long ago:
https://git.proxmox.com/?p=qemu-server.git;a=commitdiff;h=75854662699b261915289f36e8fbe953c5f77b7c
That flag needs to still be made available in the UI, though
> (Some) callers expect all keys to be present and valid array references in the
> result, so initialization is needed.
>
> Now, the enabled check is already done by the preceding code for every element
> that is iterated over, and thus isn't needed in the main loop anymore.
>
> [0]: https://forum.proxmox.com/threads/erasing-all-vm-disks-after-a-failed-vm-migration-task.85068
>
> Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
> ---
>
> Why isn't 'iterand' a word?
>
> PVE/Storage.pm | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/PVE/Storage.pm b/PVE/Storage.pm
> index 8ee2c92..18c03ec 100755
> --- a/PVE/Storage.pm
> +++ b/PVE/Storage.pm
> @@ -938,7 +938,7 @@ sub vdisk_list {
>
> storage_check_enabled($cfg, $storeid) if ($storeid);
>
> - my $res = {};
> + my $res = { map { $_ => [] } keys %{$ids} };
>
> # prepare/activate/refresh all storages
>
> @@ -964,9 +964,8 @@ sub vdisk_list {
>
> activate_storage_list($cfg, $storage_list, $cache);
>
> - foreach my $sid (keys %$ids) {
> + foreach my $sid (@{$storage_list}) {
> next if $storeid && $storeid ne $sid;
> - next if !storage_check_enabled($cfg, $sid, undef, 1);
>
> my $scfg = $ids->{$sid};
> my $plugin = PVE::Storage::Plugin->lookup($scfg->{type});
>
next prev parent reply other threads:[~2021-03-15 12:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-12 9:50 Fabian Ebner
2021-03-12 9:50 ` [pve-devel] [PATCH storage 2/2] tests: zfs: complain when a first sub-test dies Fabian Ebner
2021-03-15 12:57 ` [pve-devel] applied: " Thomas Lamprecht
2021-03-15 12:34 ` Thomas Lamprecht [this message]
2021-03-15 12:57 ` [pve-devel] applied: [PATCH storage 1/2] vdisk list: only collect images from storages with an appropriate content type Thomas Lamprecht
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=0fe82c9c-7deb-ef0f-bc2b-183a621f9356@proxmox.com \
--to=t.lamprecht@proxmox.com \
--cc=f.ebner@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal