aboutsummaryrefslogtreecommitdiff
path: root/sys/cam
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2015-09-21 13:25:29 +0000
committerAlexander Motin <mav@FreeBSD.org>2015-09-21 13:25:29 +0000
commit8153ec9ad5d16c3aeb6d830313c784395003ed23 (patch)
tree3e5c1d68cf01d705b9275d64b71cb7c0071a1048 /sys/cam
parent7af7c754e4f0fb210313addccea372ebac299e45 (diff)
downloadsrc-8153ec9ad5d16c3aeb6d830313c784395003ed23.tar.gz
src-8153ec9ad5d16c3aeb6d830313c784395003ed23.zip
Log iSCSI session reinstatements.
False session reinstatements can be result of misconfiguration, when several initiators use the same initiator name and ISID.
Notes
Notes: svn path=/head/; revision=288067
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/ctl/ctl_frontend_iscsi.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c
index 79a1fb5ac411..87f57877dee0 100644
--- a/sys/cam/ctl/ctl_frontend_iscsi.c
+++ b/sys/cam/ctl/ctl_frontend_iscsi.c
@@ -1611,6 +1611,16 @@ restart:
if (cs2 != cs && cs2->cs_tasks_aborted == false &&
cs->cs_target == cs2->cs_target &&
strcmp(cs->cs_initiator_id, cs2->cs_initiator_id) == 0) {
+ if (strcmp(cs->cs_initiator_addr,
+ cs2->cs_initiator_addr) != 0) {
+ CFISCSI_SESSION_WARN(cs2,
+ "session reinstatement from "
+ "different address %s",
+ cs->cs_initiator_addr);
+ } else {
+ CFISCSI_SESSION_DEBUG(cs2,
+ "session reinstatement");
+ }
cfiscsi_session_terminate(cs2);
mtx_unlock(&softc->lock);
pause("cfiscsi_reinstate", 1);