OSDN Git Service

libceph: replace connection state bits with states
authorSage Weil <sage@inktank.com>
Sat, 21 Jul 2012 00:24:40 +0000 (17:24 -0700)
committerSage Weil <sage@inktank.com>
Tue, 31 Jul 2012 01:16:00 +0000 (18:16 -0700)
commit8dacc7da69a491c515851e68de6036f21b5663ce
tree72e96abb5bc27d2a185cdea2f08a090302f0ede3
parentd7353dd5aaf22ed611fbcd0d4a4a12fb30659290
libceph: replace connection state bits with states

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>
include/linux/ceph/messenger.h
net/ceph/messenger.c