]> git.karo-electronics.de Git - karo-tx-linux.git/commit
libceph: replace connection state bits with states
authorSage Weil <sage@inktank.com>
Sat, 21 Jul 2012 00:24:40 +0000 (17:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 26 Nov 2012 19:38:41 +0000 (11:38 -0800)
commit265fb7c177f9db75d628b3479b6223c1c8110e67
tree85f85c837e89f7d09041a26bb60a5b35495afc93
parentcb9f8855591613dff0909c99d46a29e10eb39b25
libceph: replace connection state bits with states

(cherry picked from commit 8dacc7da69a491c515851e68de6036f21b5663ce)

Use a simple set of 6 enumerated values for the socket states (CON_STATE_*)
and use those instead of the state bits.  All of the con->state checks are
now under the protection of the con mutex, so this is safe.  It also
simplifies many of the state checks because we can check for anything other
than the expected state instead of various bits for races we can think of.

This appears to hold up well to stress testing both with and without socket
failure injection on the server side.

Signed-off-by: Sage Weil <sage@inktank.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/ceph/messenger.h
net/ceph/messenger.c