more libceph changes
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest12 patches 3 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/12 | libceph: SOCK_CLOSED is a flag, not a statenet/ | +2 | 0 replies | |
| 2/12 | libceph: don't change socket state on sock eventnet/ | +9 | 0 replies | |
| 3/12 | libceph: just set SOCK_CLOSED when state changesnet/ | +2 | 0 replies | |
| 4/12 | libceph: don't touch con state in con_close_socket()net/ | +7 | 0 replies | |
| 5/12 | libceph: clear CONNECTING in ceph_con_close()net/ | +2 | 0 replies | |
| 6/12 | libceph: clear NEGOTIATING when donenet/ | +5 | 0 replies | |
| 7/12 | libceph: define and use an explicit CONNECTED stateinclude/ net/ | +8 | 0 replies | |
| 8/12 | libceph: separate banner and connect writesnet/ | +11 | 0 replies | |
| 9/12 | libceph: distinguish two phases of connect sequencenet/ | +26 | 2 replies | |
| 10/12 | libceph: small changes to messenger.cnet/ | +31 | 0 replies | |
| 11/12 | libceph: make ceph_con_get() (etc.) privateinclude/ net/ | +24 | 1 reply | |
| 12/12 | libceph: add some fine ASCII artnet/ | +41 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/12] more libceph changes
I'm trying to wrap up a lot of work I've done recently on the Ceph client messenger code. I had a number of loose ends that never got committed along the way as I narrowed my focus to things I discovered in the course of development.
I still have a few more, but here is another batch which are ready to go, having undergone several hours of testing without any problems. They are based on the code resulting from this series, which I submitted the other day:
[PATCH 0/6] ceph: a few more messenger cleanups
They're a bit of a random collection, but I've put them into several sort of related groups in the descriptions below.
-Alex
[PATCH 01/12] libceph: SOCK_CLOSED is a flag, not a state
This fixes a bug in which the SOCK_CLOSED bit was erroneously being manipulated in a ceph connection's "state" field.
[PATCH 02/12] libceph: don't change socket state on sock event
This moves the setting of a ceph connection's error_msg value out of the socket event handler.
[PATCH 03/12] libceph: just set SOCK_CLOSED when state changes
This makes it so the SOCK_CLOSED bit is set, rather than test-and-set, when the underlying Linux socket has closed
[PATCH 04/12] libceph: don't touch con state in con_close_socket()
This drops the slightly puzzling setting and clearing of the SOCK_CLOSED bit in con_close_socket()
[PATCH 05/12] libceph: clear CONNECTING in ceph_con_close()
This takes a step toward making the state bits always reflect the real state of a connection.
[PATCH 06/12] libceph: clear NEGOTIATING when done
The NEGOTIATING state was never getting cleared until just before a new connection attempt was initiated.
[PATCH 07/12] libceph: define and use an explicit CONNECTED state
This just defines a state to reflect when a ceph connection is fully connected to its peer.
[PATCH 08/12] libceph: separate banner and connect writes
This splits up how some connection negotiation information gets sent when a client initiates a new connect sequence.
[PATCH 09/12] libceph: distinguish two phases of connect sequence
This makes the banner and IP exchange portion of a connect sequence get treated as distinct state (NEGOTIATING), rather than being a sort of sub-state of CONNECTING.
[PATCH 10/12] libceph: small changes to messenger.c
This just gathers a number of minor cleanups.
[PATCH 11/12] libceph: make ceph_con_get() (etc.) private
This makes ceph_con_get() and ceph_con_put() have static scope, since they are only used in "messenger.c".
[PATCH 12/12] libceph: add some fine ASCII art
This inserts a state diagram for a ceph connection socket into comments in "messenger.c".