Skip to content

another batch of messenger patches

Alex Elder ceph-devel 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9libceph: encapsulate and document connect sequencenet/ceph/messenger.c+54 -170 replies
2/9libceph: encapsulate and document negotiation phasenet/ceph/messenger.c+91 -160 replies
3/9libceph: close the connection's socket on resetnet/ceph/messenger.c+1 -00 replies
4/9libceph: don't close socket in OPENING statenet/ceph/messenger.c+0 -10 replies
5/9libceph: change TAG_CLOSE handlingnet/ceph/messenger.c+1 -20 replies
6/9libceph: kill fail_protocol()net/ceph/messenger.c+3 -120 replies
7/9libceph: close connection on reset tagnet/ceph/messenger.c+2 -10 replies
8/9libceph: close connection on connect failurenet/ceph/messenger.c+5 -20 replies
9/9libceph: set CONNECTING state even earliernet/ceph/messenger.c+1 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/9] another batch of messenger patches

Here is another set of small (though not necessarily trivial) patches to the ceph client messenger code.

They are all the result of recent work that was aimed at making the messenger code more clearly based on independent states, in hopes of making the result a bit simpler and more reliable.

Most of these involve making what happens when a connection reset or closed get handled a bit more completely and/or consistently.

-Alex

[PATCH 1/9] libceph: encapsulate and document connect sequence [PATCH 2/9] libceph: encapsulate and document negotiation phase
Each of these moves some blocks of code into their own functions, and adds a lot of commentary about what's going on during the connect sequence.

[PATCH 3/9] libceph: close the connection's socket on reset
Resetting a connection clears all connection state, but never actually closes the socket. Now it will.

[PATCH 4/9] libceph: don't close socket in OPENING state
This removes the unnecessary call to con_close_socket() when a socket is found to be in OPENING state.

[PATCH 5/9] libceph: change TAG_CLOSE handling
[PATCH 6/9] libceph: kill fail_protocol()
These let the normal fault handling code take care of the receipt of a CLOSE tag from the peer, or of one of the other tags that can be sent to indicate a connection problem.

[PATCH 7/9] libceph: close connection on reset tag
This causes a more complete reset to occur when a RESETSESSION tag is received.

[PATCH 8/9] libceph: close connection on connect failure
This removes the unnecessary call to con_close_socket() when a socket is found to be in CLOSED state. (Probably should have been moved up next to patch 4/9, above.)

[PATCH 9/9] libceph: set CONNECTING state even earlier
This sets the state of a connection to CONNECTING earlier than it was occurring before.