public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH storage 1/2] vdisk_list: only scan storages with the correct content type(s)
Date: Fri, 18 Jun 2021 12:59:35 +0200	[thread overview]
Message-ID: <20210618105938.57107-7-f.ebner@proxmox.com> (raw)
In-Reply-To: <20210618105938.57107-1-f.ebner@proxmox.com>

The enabled check in the lower loop is now redundant and can be removed.

If storeid is provided, initialize the result hash accordingly, mainly for
backwards compatibility (needed by a caller in pve-manager's Ceph/Pools.pm and
the migration code in pve-container and qemu-server), but it also is less
surprising in general.

Remaining vdisk_list users that do not specify a content type are:
    1. pve-manager's Pool/Ceph.pm, but the content type for RBD can only be
       rootdir and images, so the storage is scanned (if enabled, same as
       before).
    2. pve-container migration
    3. qemu-server migration
For the latter two, it's planned to enforce content type, so the change is fine
too.

This also means that for iscsi(direct) plugins with content type 'none', i.e.
"use LUNs directly" does not return the list of images anymore, but that was
rather a bug anyways as they're not virtual disks then:
    0.0.0.scsi-36001405b8f2772e13a04b8e9390db13d
All of the remaining callers not using content types (see above) are fine with
that change too.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---

Breaks old migration behavior when there are unused/unreferenced/vmstate volumes
on a misconfigured storage!

 PVE/Storage.pm | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/PVE/Storage.pm b/PVE/Storage.pm
index 3aa2100..7312eba 100755
--- a/PVE/Storage.pm
+++ b/PVE/Storage.pm
@@ -936,7 +936,7 @@ sub vdisk_list {
 
     storage_check_enabled($cfg, $storeid) if ($storeid);
 
-    my $res = {};
+    my $res = $storeid ? { $storeid => [] } : {};
 
     # prepare/activate/refresh all storages
 
@@ -963,12 +963,8 @@ sub vdisk_list {
 
     activate_storage_list($cfg, $storage_list, $cache);
 
-    # FIXME PVE 7.0: only scan storages with the correct content types
-    my $scan = defined($ctype) ? $storage_list : [ keys %{$ids} ];
-
-    foreach my $sid (@{$scan}) {
+    for 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});
-- 
2.30.2





  parent reply	other threads:[~2021-06-18 11:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-18 10:59 [pve-devel] [PATCH-SERIES] stricter storage rules for migration Fabian Ebner
2021-06-18 10:59 ` [pve-devel] [PATCH container 1/3] prefer storage_check_enabled over storage_check_node Fabian Ebner
2021-06-21  8:42   ` [pve-devel] applied: " Thomas Lamprecht
2021-06-18 10:59 ` [pve-devel] [PATCH container 2/3] migrate: also test unused volumes Fabian Ebner
2021-06-21  8:42   ` [pve-devel] applied: " Thomas Lamprecht
2021-06-18 10:59 ` [pve-devel] [PATCH container 3/3] migrate: enforce that rootdir content type is available Fabian Ebner
2021-06-21  8:42   ` [pve-devel] applied: " Thomas Lamprecht
2021-06-18 10:59 ` [pve-devel] [PATCH qemu-server 1/2] prefer storage_check_enabled over storage_check_node Fabian Ebner
2021-06-21  9:18   ` [pve-devel] applied: " Thomas Lamprecht
2021-06-18 10:59 ` [pve-devel] [PATCH qemu-server 2/2] migrate: enforce that image content type is available Fabian Ebner
2021-06-21  9:18   ` [pve-devel] applied: " Thomas Lamprecht
2021-06-18 10:59 ` Fabian Ebner [this message]
2021-06-21  9:22   ` [pve-devel] applied: [PATCH storage 1/2] vdisk_list: only scan storages with the correct content type(s) Thomas Lamprecht
2021-06-18 10:59 ` [pve-devel] [PATCH storage 2/2] config: prevent empty content list when content type 'none' is not supported Fabian Ebner
2021-06-21  9:22   ` [pve-devel] applied: " Thomas Lamprecht
2021-06-18 10:59 ` [pve-devel] [PATCH manager 1/2] pve6to7: add check for guest images on misconfigured storages Fabian Ebner
2021-06-21  9:25   ` Thomas Lamprecht
2021-06-18 10:59 ` [pve-devel] [PATCH manager 2/2] pve6to7: check for misconfigured content type 'none' Fabian 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=20210618105938.57107-7-f.ebner@proxmox.com \
    --to=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 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