MFC r273164:
When removing an iSCSI session, check whether all conditions match, not if any of them matches. This fixes "iscsictl -Rn" removing unrelated sessions. PR: 194034 Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
c1b4b35c7e
commit
93accf3999
@ -1757,18 +1757,16 @@ static bool
|
||||
iscsi_session_conf_matches(unsigned int id1, const struct iscsi_session_conf *c1,
|
||||
unsigned int id2, const struct iscsi_session_conf *c2)
|
||||
{
|
||||
if (id2 == 0 && c2->isc_target[0] == '\0' &&
|
||||
c2->isc_target_addr[0] == '\0')
|
||||
return (true);
|
||||
if (id2 != 0 && id2 == id1)
|
||||
return (true);
|
||||
|
||||
if (id2 != 0 && id2 != id1)
|
||||
return (false);
|
||||
if (c2->isc_target[0] != '\0' &&
|
||||
strcmp(c1->isc_target, c2->isc_target) == 0)
|
||||
return (true);
|
||||
strcmp(c1->isc_target, c2->isc_target) != 0)
|
||||
return (false);
|
||||
if (c2->isc_target_addr[0] != '\0' &&
|
||||
strcmp(c1->isc_target_addr, c2->isc_target_addr) == 0)
|
||||
return (true);
|
||||
return (false);
|
||||
strcmp(c1->isc_target_addr, c2->isc_target_addr) != 0)
|
||||
return (false);
|
||||
return (true);
|
||||
}
|
||||
|
||||
static int
|
||||
|
Loading…
x
Reference in New Issue
Block a user