summaryrefslogtreecommitdiff
path: root/drivers/virt
diff options
context:
space:
mode:
authorSagi Grimberg <sagig@mellanox.com>2014-04-29 13:13:45 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-06-07 13:25:38 -0700
commit8a2629ad0ba7902262df7ae980265d8f93e2dfc2 (patch)
tree35b0e8836946854ebf8c52112fd5142dec71856c /drivers/virt
parent5de94f8f4acfce3ff79592cb1d6c58ae6c0b420e (diff)
downloadlinux-3.10-8a2629ad0ba7902262df7ae980265d8f93e2dfc2.tar.gz
linux-3.10-8a2629ad0ba7902262df7ae980265d8f93e2dfc2.tar.bz2
linux-3.10-8a2629ad0ba7902262df7ae980265d8f93e2dfc2.zip
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/virt')
0 files changed, 0 insertions, 0 deletions