aboutsummaryrefslogtreecommitdiff
path: root/drivers/target
diff options
context:
space:
mode:
authorSagi Grimberg <sagig@mellanox.com>2014-04-29 13:13:45 +0300
committerShow Liu <show.liu@linaro.org>2014-06-18 12:05:03 +0800
commit8e3456ebd31ef938390df0cefcd588824ab339a5 (patch)
tree0d13def1511e4f05f6914b587a50cd8516e265bd /drivers/target
parent54d87240d6042c526bc73b411c1c442644fca0e3 (diff)
Target/iser: Fix iscsit_accept_np and rdma_cm racy flow
commit 531b7bf4bd795d9a09eac92504322a472c010bc8 upstream. RDMA CM and iSCSI target flows are asynchronous and completely uncorrelated. Relying on the fact that iscsi_accept_np will be called after CM connection request event and will wait for it is a mistake. When attempting to login to a few targets this flow is racy and unpredictable, but for parallel login to dozens of targets will race and hang every time. The correct synchronizing mechanism in this case is pending on a semaphore rather than a wait_for_event. We keep the pending interruptible for iscsi_np cleanup stage. (Squash patch to remove dead code into parent - nab) Reported-by: Slava Shwartsman <valyushash@gmail.com> Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/target')
0 files changed, 0 insertions, 0 deletions