Re: [PATCH 2/6] libceph: don't call ->reencode_message() more than once per message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 28, 2017 at 8:41 PM, Ilya Dryomov <idryomov@xxxxxxxxx> wrote:
> Reencoding an already reencoded message is a bad idea.  This could
> happen on Policy::stateful_server connections (!CEPH_MSG_CONNECT_LOSSY),
> such as MDS sessions.
>
> This didn't pop up in testing because currently only OSD requests are
> reencoded and OSD sessions are always lossy.
>
> Fixes: 98ad5ebd1505 ("libceph: ceph_connection_operations::reencode_message() method")
> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
> ---
>  net/ceph/messenger.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> index b7cc615d42ef..a67298c7e0cd 100644
> --- a/net/ceph/messenger.c
> +++ b/net/ceph/messenger.c
> @@ -1287,10 +1287,10 @@ static void prepare_write_message(struct ceph_connection *con)
>         if (m->needs_out_seq) {
>                 m->hdr.seq = cpu_to_le64(++con->out_seq);
>                 m->needs_out_seq = false;
> -       }
>
> -       if (con->ops->reencode_message)
> -               con->ops->reencode_message(m);
> +               if (con->ops->reencode_message)
> +                       con->ops->reencode_message(m);
> +       }
>
>         dout("prepare_write_message %p seq %lld type %d len %d+%d+%zd\n",
>              m, con->out_seq, le16_to_cpu(m->hdr.type),
> --
> 2.4.3
>
> --

Reviewed-by: "Yan, Zheng" <zyan@xxxxxxxxxx>

> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux