From: Alex Elder <elder@inktank.com>
To: ceph-devel@vger.kernel.org
Subject: [PATCH 00/12] more libceph changes
Date: Thu, 21 Jun 2012 09:15:32 -0500 [thread overview]
Message-ID: <4FE32C84.2050408@inktank.com> (raw)
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".
next reply other threads:[~2012-06-21 14:15 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-21 14:15 Alex Elder [this message]
2012-06-21 14:20 ` [PATCH 01/12] libceph: SOCK_CLOSED is a flag, not a state Alex Elder
2012-06-21 14:21 ` [PATCH 02/12] libceph: don't change socket state on sock event Alex Elder
2012-06-21 14:21 ` [PATCH 03/12] libceph: just set SOCK_CLOSED when state changes Alex Elder
2012-06-21 14:21 ` [PATCH 04/12] libceph: don't touch con state in con_close_socket() Alex Elder
2012-06-21 14:21 ` [PATCH 05/12] libceph: clear CONNECTING in ceph_con_close() Alex Elder
2012-06-21 14:21 ` [PATCH 06/12] libceph: clear NEGOTIATING when done Alex Elder
2012-06-21 14:22 ` [PATCH 07/12] libceph: define and use an explicit CONNECTED state Alex Elder
2012-06-21 14:22 ` [PATCH 08/12] libceph: separate banner and connect writes Alex Elder
2012-06-21 14:22 ` [PATCH 09/12] libceph: distinguish two phases of connect sequence Alex Elder
2012-06-21 18:44 ` Sage Weil
2012-06-21 18:54 ` Alex Elder
2012-06-21 14:22 ` [PATCH 10/12] libceph: small changes to messenger.c Alex Elder
2012-06-21 14:22 ` [PATCH 11/12] libceph: make ceph_con_get() (etc.) private Alex Elder
2012-06-21 19:44 ` Sage Weil
2012-06-21 14:22 ` [PATCH 12/12] libceph: add some fine ASCII art Alex Elder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FE32C84.2050408@inktank.com \
--to=elder@inktank.com \
--cc=ceph-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.