[pve-devel] [PATCH storage v4] fix #957 iscsi: improve iscsi_test_portal logic

Friedrich Weber f.weber at proxmox.com
Thu Mar 20 11:48:41 CET 2025


On 20/03/2025 11:15, Mira Limbeck wrote:
> [...]
>>
>>> +	# check session state instead if available
>>> +	my $sessions = iscsi_session($cache, $target);
>>> +	for my $session ($sessions->@*) {
>>> +	    next if $session->{portal} ne $portal;
>>> +	    return iscsi_test_session($session->{session_id});
>>
>> So if we have a session but it is not LOGGED_IN, we return 0.
>> I know this is what I suggested in my v3 comment, but now I'm not so
>> sure anymore. Couldn't it be the case that the session is broken for
>> some reason, but discovery would still works? In such a case, we would
>> now consider the portal offline. We could instead fall back to a TCP ping:
>> 	
>> 	my $state = iscsi_test_session($session->{session_id});
>> 	return $state if $state;
>>
>> Any opinions (from others)?
> After talking off-list about this, we do want to fall back to the
> tcp_ping if the session is not logged in. For discovery no session is
> needed. So even without a login, it might still be reachable via ping
> and a discovery possible.

Yeah, let's fall back to a tcp_ping if there is a session that is not
LOGGED_IN. Sorry for the confusion with my earlier suggestion on v3.

One minor thing I forgot -- the commit message might benefit from a few
more details:

- mention that when we test connectivity of a portal, we now first check
whether a logged-in session to that portal is already present and fall
back to the TCP ping only if there is no such session
- acknowledge that this is not going to remove TCP pings (and thus the
log messages on the target side) completely -- TCP pings are still done
e.g. if there is no active session yet.

And finally, the first line is missing a colon after "fix #957", but
this is a really minor thing now -- we can also fix when applying, just
mentioning it here for completeness.

@Victor, if you send a v5 I'll do some final testing on that version
and, if everything looks good, add my Tested-by/Reviewed-by trailers there.

[1]
https://pve.proxmox.com/wiki/Developer_Documentation#Commits_and_Commit_Messages




More information about the pve-devel mailing list