]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: WARN, don't BUG on unexpected connection states
authorAlex Elder <elder@inktank.com>
Wed, 26 Dec 2012 16:43:57 +0000 (10:43 -0600)
committerAlex Elder <elder@inktank.com>
Fri, 28 Dec 2012 02:27:04 +0000 (20:27 -0600)
commit87ec8fb23cd6234cf2cfd59a95b48c38d159a5ed
treeb19b8bced463ffdb54f3b5d3b2c287bd81084582
parente603374284b0265a44a9497b283abe77c271f337
libceph: WARN, don't BUG on unexpected connection states

A number of assertions in the ceph messenger are implemented with
BUG_ON(), killing the system if connection's state doesn't match
what's expected.  At this point our state model is (evidently) not
well understood enough for these assertions to trigger a BUG().
Convert all BUG_ON(con->state...) calls to be WARN_ON(con->state...)
so we learn about these issues without killing the machine.

We now recognize that a connection fault can occur due to a socket
closure at any time, regardless of the state of the connection.  So
there is really nothing we can assert about the state of the
connection at that point so eliminate that assertion.

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