]> git.baikalelectronics.ru Git - kernel.git/commit
iser-target: Fix implicit termination of connections
authorSagi Grimberg <sagig@mellanox.com>
Tue, 2 Dec 2014 14:57:29 +0000 (16:57 +0200)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sat, 13 Dec 2014 07:18:09 +0000 (23:18 -0800)
commit2127897412708c297c9b459caf38eadf7ea54607
tree662d763436dfe4eb4968ebd656e606675246764f
parent877e1fe2c1e41315dd816781d293e6b362f1eaee
iser-target: Fix implicit termination of connections

In situations such as bond failover, The new session establishment
implicitly invokes the termination of the old connection.

So, we don't want to wait for the old connection wait_conn to completely
terminate before we accept the new connection and post a login response.

The solution is to deffer the comp_wait completion and the conn_put to
a work so wait_conn will effectively be non-blocking (flush errors are
assumed to come very fast).

We allocate isert_release_wq with WQ_UNBOUND and WQ_UNBOUND_MAX_ACTIVE
to spread the concurrency of release works.

Reported-by: Slava Shwartsman <valyushash@gmail.com>
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Cc: <stable@vger.kernel.org> # v3.10+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/infiniband/ulp/isert/ib_isert.c
drivers/infiniband/ulp/isert/ib_isert.h