svn commit: r273164 - head/sys/dev/iscsi
Edward Tomasz Napierala
trasz at FreeBSD.org
Thu Oct 16 09:09:44 UTC 2014
Author: trasz
Date: Thu Oct 16 09:09:43 2014
New Revision: 273164
URL: https://svnweb.freebsd.org/changeset/base/273164
Log:
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
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Modified:
head/sys/dev/iscsi/iscsi.c
Modified: head/sys/dev/iscsi/iscsi.c
==============================================================================
--- head/sys/dev/iscsi/iscsi.c Thu Oct 16 08:42:17 2014 (r273163)
+++ head/sys/dev/iscsi/iscsi.c Thu Oct 16 09:09:43 2014 (r273164)
@@ -1752,18 +1752,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
More information about the svn-src-head
mailing list