diff options
author | Sagi Grimberg <sagig@mellanox.com> | 2014-05-19 17:44:23 +0300 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2014-07-02 12:06:28 +0200 |
commit | 34992ea555198a7c1df1700444773324254a7a87 (patch) | |
tree | e0e6d1e7c25d82eb902052aaedc6210780596b34 /arch/m68k | |
parent | 391416ca2aeff3a33fdd9fa343b9a622ea00523e (diff) |
Target/iser: Fix hangs in connection teardown
commit 9d49f5e284e700576f3b65f1e28dea8539da6661 upstream.
In ungraceful teardowns isert close flows seem racy such that
isert_wait_conn hangs as RDMA_CM_EVENT_DISCONNECTED never
gets invoked (no one called rdma_disconnect).
Both graceful and ungraceful teardowns will have rx flush errors
(isert posts a batch once connection is established). Once all
flush errors are consumed we invoke isert_wait_conn and it will
be responsible for calling rdma_disconnect. This way it can be
sure that rdma_disconnect was called and it won't wait forever.
This patch also removes the logout_posted indicator. either the
logout completion was consumed and no problem decrementing the
post_send_buf_count, or it was consumed as a flush error. no point
of keeping it for isert_wait_conn as there is no danger that
isert_conn will be accidentally removed while it is running.
(Drop unnecessary sleep_on_conn_wait_comp check in
isert_cq_rx_comp_err - nab)
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'arch/m68k')
0 files changed, 0 insertions, 0 deletions