From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 0851C1FF13C for ; Thu, 30 Apr 2026 19:33:16 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 90DC1157BC; Thu, 30 Apr 2026 19:32:38 +0200 (CEST) From: Mira Limbeck To: pve-devel@lists.proxmox.com Subject: [PATCH v2 storage 12/15] iscsi: add support for non-persistent discovery Date: Thu, 30 Apr 2026 19:27:10 +0200 Message-ID: <20260430173220.441001-13-m.limbeck@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260430173220.441001-1-m.limbeck@proxmox.com> References: <20260430173220.441001-1-m.limbeck@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.567 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods RDNS_NONE 0.793 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record Message-ID-Hash: AGYR4QMKOTYBLAOTJYBM7SHZEO2H35OL X-Message-ID-Hash: AGYR4QMKOTYBLAOTJYBM7SHZEO2H35OL X-MailFrom: mira@nena.proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: When running a discovery to gather all targets and portals to configure mappings it is not necessary to modify the discovery db. For multiple discovery portals it is also important to not stop early when a previous portal already returned targets and portals. Signed-off-by: Mira Limbeck --- src/PVE/Storage/ISCSIPlugin.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/PVE/Storage/ISCSIPlugin.pm b/src/PVE/Storage/ISCSIPlugin.pm index 5b636a8..a95edf4 100644 --- a/src/PVE/Storage/ISCSIPlugin.pm +++ b/src/PVE/Storage/ISCSIPlugin.pm @@ -200,7 +200,7 @@ sub iscsi_portals { } sub iscsi_discovery { - my ($target_in, $portals, $cache) = @_; + my ($target_in, $portals, $cache, $update_db) = @_; assert_iscsi_support(); @@ -209,6 +209,7 @@ sub iscsi_discovery { next if !iscsi_test_portal($target_in, $portal, $cache); # fixme: raise exception here? my $cmd = [$ISCSIADM, '--mode', 'discovery', '--type', 'sendtargets', '--portal', $portal]; + push $cmd->@*, '-o', 'nonpersistent' if !$update_db; eval { run_command( $cmd, @@ -226,7 +227,7 @@ sub iscsi_discovery { }; # In case of multipath we can stop after receiving targets from any available portal - last if scalar(keys %$res) > 0; + last if defined($target) && scalar(keys %$res) > 0; } return $res; -- 2.47.3