• Sagi Grimberg's avatar
    iser-target: Fix implicit termination of connections · b02efbfc
    Sagi Grimberg authored
    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: default avatarSlava Shwartsman <valyushash@gmail.com>
    Signed-off-by: default avatarSagi Grimberg <sagig@mellanox.com>
    Cc: <stable@vger.kernel.org> # v3.10+
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    b02efbfc
ib_isert.c 94.8 KB