From: Alex Elder <elder@ieee.org>
To: Ilya Dryomov <idryomov@gmail.com>, ceph-devel@vger.kernel.org
Cc: Varada Kari <Varada.Kari@sandisk.com>
Subject: Re: [PATCH 2/4] libceph: use the right footer size when skipping a message
Date: Sat, 20 Feb 2016 12:44:29 -0600 [thread overview]
Message-ID: <56C8B40D.90602@ieee.org> (raw)
In-Reply-To: <1455986729-12544-3-git-send-email-idryomov@gmail.com>
+On 02/20/2016 10:45 AM, Ilya Dryomov wrote:
> ceph_msg_footer is 21 bytes long, while ceph_msg_footer_old is only 13.
> Don't skip too much when CEPH_FEATURE_MSG_AUTH isn't negotiated.
This looks good, but I have a few suggestions.
You could done some factoring in prepare_write_message_footer()
to use the new function for setting iov_len and updating
out_kvec_bytes.
Consider my suggestions, but otherwise I believe this
is correct.
Reviewed-by: Alex Elder <elder@linaro.org>
> Cc: stable@vger.kernel.org # 3.19+
> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
> ---
> net/ceph/messenger.c | 17 ++++++++++-------
> 1 file changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> index fec20819a5ea..dd7c1b7f932b 100644
> --- a/net/ceph/messenger.c
> +++ b/net/ceph/messenger.c
> @@ -2284,6 +2284,13 @@ static int read_partial_msg_data(struct ceph_connection *con)
> return 1; /* must return > 0 to indicate success */
> }
>
> +static size_t sizeof_footer(struct ceph_connection *con)
I understand why this is named this way. But it's supplying a
connection as argument, but a footer is a message attribute.
So I might call this con_msg_footer_size().
> +{
> + return (con->peer_features & CEPH_FEATURE_MSG_AUTH) ?
> + sizeof(struct ceph_msg_footer) :
> + sizeof(struct ceph_msg_footer_old);
> +}
> +
> /*
> * read (part of) a message.
> */
> @@ -2335,7 +2342,7 @@ static int read_partial_message(struct ceph_connection *con)
> ceph_pr_addr(&con->peer_addr.in_addr),
> seq, con->in_seq + 1);
> con->in_base_pos = -front_len - middle_len - data_len -
> - sizeof(m->footer);
> + sizeof_footer(con);
> con->in_tag = CEPH_MSGR_TAG_READY;
> return 1;
> } else if ((s64)seq - (s64)con->in_seq > 1) {
> @@ -2360,7 +2367,7 @@ static int read_partial_message(struct ceph_connection *con)
> /* skip this message */
> dout("alloc_msg said skip message\n");
> con->in_base_pos = -front_len - middle_len - data_len -
> - sizeof(m->footer);
> + sizeof_footer(con);
> con->in_tag = CEPH_MSGR_TAG_READY;
> con->in_seq++;
> return 1;
> @@ -2402,11 +2409,7 @@ static int read_partial_message(struct ceph_connection *con)
> }
>
> /* footer */
> - if (need_sign)
> - size = sizeof(m->footer);
> - else
> - size = sizeof(m->old_footer);
> -
> + size = sizeof_footer(con);
> end += size;
> ret = read_partial(con, end, size, &m->footer);
> if (ret <= 0)
>
next prev parent reply other threads:[~2016-02-20 18:44 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-20 16:45 [PATCH 0/4] libceph: message skipping fixes Ilya Dryomov
2016-02-20 16:45 ` [PATCH 1/4] libceph: don't bail early from try_read() when skipping a message Ilya Dryomov
2016-02-20 18:28 ` Alex Elder
2016-02-20 20:21 ` Ilya Dryomov
2016-02-20 20:38 ` Alex Elder
2016-02-20 16:45 ` [PATCH 2/4] libceph: use the right footer size " Ilya Dryomov
2016-02-20 18:44 ` Alex Elder [this message]
2016-02-20 20:05 ` Ilya Dryomov
2016-02-20 20:15 ` Alex Elder
2016-02-21 14:31 ` Ilya Dryomov
2016-02-21 14:35 ` [PATCH 4/4] libceph: use sizeof_footer() more Ilya Dryomov
2016-02-21 15:08 ` Alex Elder
2016-02-20 16:45 ` [PATCH 3/4] libceph: don't spam dmesg with stray reply warnings Ilya Dryomov
2016-02-20 18:46 ` Alex Elder
2016-02-20 16:45 ` [PATCH 4/4] libceph: use sizeof_footer() in ceph_msg_revoke() Ilya Dryomov
2016-02-20 18:47 ` Alex Elder
2016-02-20 19:51 ` Ilya Dryomov
2016-02-20 19:56 ` 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=56C8B40D.90602@ieee.org \
--to=elder@ieee.org \
--cc=Varada.Kari@sandisk.com \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
/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.