]> git.ipfire.org Git - people/ms/linux.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)
committerJiri Slaby <jslaby@suse.cz>
Thu, 29 Jan 2015 14:44:52 +0000 (15:44 +0100)
commite9f9083556e7e829c7aa66646ef041ab26e6a471
tree9ab2945387bc874b68f5b264efc3a8d6df5fb8f0
parent625b1a08d2bc02bdd0154ec9c811f0e63b2e2a71
iser-target: Fix implicit termination of connections

commit b02efbfc9a051b41e71fe8f94ddf967260e024a6 upstream.

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>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/infiniband/ulp/isert/ib_isert.c
drivers/infiniband/ulp/isert/ib_isert.h