]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: don't change socket state on sock event
authorAlex Elder <elder@inktank.com>
Thu, 21 Jun 2012 02:53:53 +0000 (21:53 -0500)
committerSage Weil <sage@inktank.com>
Fri, 6 Jul 2012 04:14:20 +0000 (21:14 -0700)
commitd9054ca388026637f40ab86ae25a1e221f050954
tree664eb69384323440f984f1fcd96075753fc1b286
parent6a77fb3bc698e7305174d1804a0d9b1b7cf7e020
libceph: don't change socket state on sock event

Currently the socket state change event handler records an error
message on a connection to distinguish a close while connecting from
a close while a connection was already established.

Changing connection information during handling of a socket event is
not very clean, so instead move this assignment inside con_work(),
where it can be done during normal connection-level processing (and
under protection of the connection mutex as well).

Move the handling of a socket closed event up to the top of the
processing loop in con_work(); there's no point in handling backoff
etc. if we have a newly-closed socket to take care of.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
net/ceph/messenger.c