]> git.ipfire.org Git - people/arne_f/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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 26 Nov 2012 19:38:27 +0000 (11:38 -0800)
commit54942c5326f039a40c407a251175cd3925ce2951
tree18d7ff6bda683e39ce7d6a468c7c6753deb116a1
parenteb8c5642db57af9577ebfea7ff9e96eadbf596b8
libceph: don't change socket state on sock event

(cherry picked from commit 188048bce311ee41e5178bc3255415d0eae28423)

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ceph/messenger.c