On 3/4/2014 2:00 AM, Nicholas A. Bellinger wrote:
From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Hi Or & Sagi,
This series addresses a number of active I/O shutdown related issues
in iser-target code that have come up recently during stress testing.
Note there is still a seperate iser-target network portal shutdown
bug being tracked down, but this series addresses all existing issues
related to active I/O session shutdown.
The patch breakdown looks like:
Patch #1 fixes a long-standing bug where TPGs in shutdown incorrectly
could be referenced by new login attempts.
Patch #2 converts list_del -> list_del_init for iscsi_cmd->i_conn_node
so that list_empty works correctly.
Patch #3 addresses isert_conn->state related bugs resulting in hung
shutdown, and splits isert_free_conn() into seperate code that is
called earlier during shutdown to ensure that all outstanding I/O
has completed.
Patch #4 fixes incorrect accounting of ->post_send_buf_count during
active I/O shutdown with outstanding RDMA WRITE + RDMA READ work
requests.
Patch #5 addresses a bug related to active I/O shutdown with
outstanding FRMR work requests. Note this patch is specific to
v3.12+ code.
Patch #6 addresses bugs related to active I/O shutdown with
outstanding completion interrupt coalescing batches. Note this patch
is specific to v3.13+ code.
Please review.
Hey Nic,
So besides a minor comment, you have my Ack on this set.
More on cleanup flow. isert_cma_handler does not handle
RDMA_CM_EVENT_TIMEWAIT_EXIT.
To be more specific, according to IB spec, when initiating disconnect
(rdma_disconnect/ib_send_cm_dreq),
one should not destroy a used qp until getting TIMEWAIT_EXIT CM event.
We are working on this in iSER initiator.
It might lead to "stale connection" CM rejects on future connections
(SRP also does not do that).
Sagi.
--nab
Nicholas Bellinger (6):
iscsi-target: Fix iscsit_get_tpg_from_np tpg_state bug
iscsi/iser-target: Use list_del_init for ->i_conn_node
iscsi/iser-target: Fix isert_conn->state hung shutdown issues
iser-target: Fix post_send_buf_count for RDMA READ/WRITE
iser-target: Ignore completions for FRWRs in isert_cq_tx_work
iser-target: Fix command leak for tx_desc->comp_llnode_batch
drivers/infiniband/ulp/isert/ib_isert.c | 180 ++++++++++++++++++------------
drivers/infiniband/ulp/isert/ib_isert.h | 7 +-
drivers/target/iscsi/iscsi_target.c | 10 +-
drivers/target/iscsi/iscsi_target_erl2.c | 16 +--
drivers/target/iscsi/iscsi_target_tpg.c | 2 +-
include/target/iscsi/iscsi_transport.h | 1 +
6 files changed, 129 insertions(+), 87 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html