linux/drivers/target/iscsi
Nicholas Bellinger b2cb96494d iser-target: Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED
This patch addresses a bug where RDMA_CM_EVENT_DISCONNECTED may occur
before the connection shutdown has been completed by rx/tx threads,
that causes isert_free_conn() to wait indefinately on ->conn_wait.

This patch allows isert_disconnect_work code to invoke rdma_disconnect
when isert_disconnect_work() process context is started by client
session reset before isert_free_conn() code has been reached.

It also adds isert_conn->conn_mutex protection for ->state within
isert_disconnect_work(), isert_cq_comp_err() and isert_free_conn()
code, along with isert_check_state() for wait_event usage.

(v2: Add explicit iscsit_cause_connection_reinstatement call
     during isert_disconnect_work() to force conn reset)

Cc: stable@vger.kernel.org  # 3.10+
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2013-07-07 18:35:56 -07:00
..
iscsi_target_auth.c target/iscsi: Remove chap_set_random() 2013-04-25 01:05:22 -07:00
iscsi_target_auth.h
iscsi_target_configfs.c iscsi-target: Add demo-mode TPG authentication context support 2013-07-03 19:44:32 -07:00
iscsi_target_configfs.h
iscsi_target_core.h iscsi-target: Fix iscsit_add_reject* usage for iser 2013-07-06 21:59:53 -07:00
iscsi_target_datain_values.c target/iscsi: Eliminate iscsi_cmd.data_length 2012-04-14 17:40:38 -07:00
iscsi_target_datain_values.h
iscsi_target_device.c iscsi-target: Refactor TX queue logic + export response PDU creation 2013-04-25 01:05:27 -07:00
iscsi_target_device.h target/iscsi: Remove unneeded wrapper functions 2012-02-25 14:37:47 -08:00
iscsi_target_erl0.c iser-target: Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED 2013-07-07 18:35:56 -07:00
iscsi_target_erl0.h
iscsi_target_erl1.c iscsi-target: Fix iscsit_sequence_cmd reject handling for iser 2013-07-06 21:59:54 -07:00
iscsi_target_erl1.h iscsit: use the itt_t abstract type 2012-10-03 14:21:50 -07:00
iscsi_target_erl2.c iscsi-target: Fix iscsit_free_cmd() se_cmd->cmd_kref shutdown handling 2013-05-31 01:21:28 -07:00
iscsi_target_erl2.h iscsit: proper endianess conversions 2012-10-03 14:39:22 -07:00
iscsi_target_login.c iscsi-target: Refactor RX PDU logic + export request PDU handling 2013-04-25 01:05:27 -07:00
iscsi_target_login.h iscsi-target: Initial traditional TCP conversion to iscsit_transport 2013-04-25 01:05:26 -07:00
iscsi_target_nego.c iscsi-target: Add demo-mode TPG authentication context support 2013-07-03 19:44:32 -07:00
iscsi_target_nego.h iscsi-target: Initial traditional TCP conversion to iscsit_transport 2013-04-25 01:05:26 -07:00
iscsi_target_nodeattrib.c iscsi-target: remove improper externs 2012-03-17 18:07:04 -07:00
iscsi_target_nodeattrib.h
iscsi_target_parameters.c iscsi-target: Allow ->MaxXmitDataSegmentLength assignment for iser discovery 2013-07-03 19:43:22 -07:00
iscsi_target_parameters.h iscsi-target: fix heap buffer overflow on error 2013-05-30 18:07:54 -07:00
iscsi_target_seq_pdu_list.c iscsi-target: Change iscsi_target_seq_pdu_list.c to honor MaxXmitDataSegmentLength 2012-10-02 13:17:33 -07:00
iscsi_target_seq_pdu_list.h target/iscsi: Fold _decide_list_to_build into _build_pdu_and_seq_lists 2012-04-14 17:40:38 -07:00
iscsi_target_stat.c target: don't truncate the fail intr address 2013-02-13 11:27:58 -08:00
iscsi_target_stat.h
iscsi_target_tmr.c iscsi-target: Refactor TX queue logic + export response PDU creation 2013-04-25 01:05:27 -07:00
iscsi_target_tmr.h
iscsi_target_tpg.c iscsi-target: Initial traditional TCP conversion to iscsit_transport 2013-04-25 01:05:26 -07:00
iscsi_target_tpg.h
iscsi_target_tq.c iscsi-target: Use list_first_entry() where appropriate 2012-11-06 20:55:45 -08:00
iscsi_target_tq.h iscsit: mark various functions static 2012-10-02 14:41:59 -07:00
iscsi_target_transport.c iscsi-target: Add iscsit_transport API template 2013-04-25 01:05:26 -07:00
iscsi_target_util.c iscsi-target: Fix iscsit_sequence_cmd reject handling for iser 2013-07-06 21:59:54 -07:00
iscsi_target_util.h iscsi-target: Fix iscsit_sequence_cmd reject handling for iser 2013-07-06 21:59:54 -07:00
iscsi_target.c iscsi-target: Fix ISCSI_OP_SCSI_TMFUNC handling for iser 2013-07-06 22:01:23 -07:00
iscsi_target.h iscsi-target: Fix iscsit_add_reject* usage for iser 2013-07-06 21:59:53 -07:00
Kconfig target: iscsi_target depends on NET 2011-07-28 20:16:18 +00:00
Makefile iscsi-target: Add iscsit_transport API template 2013-04-25 01:05:26 -07:00