| From | Herton Ronaldo Krzesinski <> | Subject | [PATCH 131/270] libceph: close socket directly from ceph_con_close() | Date | Mon, 26 Nov 2012 14:57:01 -0200 |
| |
3.5.7u1 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Sage Weil <sage@inktank.com>
commit ee76e0736db8455e3b11827d6899bd2a4e1d0584 upstream.
It is simpler to do this immediately, since we already hold the con mutex. It also avoids the need to deal with a not-quite-CLOSED socket in con_work.
Signed-off-by: Sage Weil <sage@inktank.com> Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> --- net/ceph/messenger.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index 32ab7cd..46ce113 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -519,14 +519,8 @@ void ceph_con_close(struct ceph_connection *con) reset_connection(con); con->peer_global_seq = 0; cancel_delayed_work(&con->work); + con_close_socket(con); mutex_unlock(&con->mutex); - - /* - * We cannot close the socket directly from here because the - * work threads use it without holding the mutex. Instead, let - * con_work() do it. - */ - queue_con(con); } EXPORT_SYMBOL(ceph_con_close); -- 1.7.9.5
|