IB/iser: Use iser_warn instead of BUG_ON in iser_conn_release

In case iscsid was violently killed (SIGKILL) during its error
recovery stage, we may never get a connection teardown sequence for
some of the old connections.  No harm done, but when we try to unload
the module we will need to cleanup all these connections.  So we
actually may end-up here - so it's not a BUG_ON(), just give a relaxed
warning that this happened and continue with normal unload.  BUG_ON()
will cause segfault on module_exit and we don't want that.

Signed-off-by: Ariel Nahum <arieln@mellanox.com>
Signed-off-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
Ariel Nahum 2014-10-01 14:02:06 +03:00 committed by Roland Dreier
parent 8c204e69ce
commit aea8f4df6d
1 changed files with 3 additions and 1 deletions

View File

@ -627,7 +627,9 @@ void iser_conn_release(struct iser_conn *iser_conn)
mutex_unlock(&ig.connlist_mutex);
mutex_lock(&iser_conn->state_mutex);
BUG_ON(iser_conn->state != ISER_CONN_DOWN);
if (iser_conn->state != ISER_CONN_DOWN)
iser_warn("iser conn %p state %d, expected state down.\n",
iser_conn, iser_conn->state);
/*
* In case we never got to bind stage, we still need to
* release IB resources (which is safe to call more than once).