Skip to content

Commit

Permalink
libceph: close socket directly from ceph_con_close()
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
Sage Weil committed Jul 31, 2012
1 parent 2e8cb10 commit ee76e07
Showing 1 changed file with 1 addition and 7 deletions.
8 changes: 1 addition & 7 deletions net/ceph/messenger.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit ee76e07

Please sign in to comment.