public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Xiubo Li <xiubli@redhat.com>
To: Ilya Dryomov <idryomov@gmail.com>
Cc: ceph-devel@vger.kernel.org, jlayton@kernel.org,
	vshankar@redhat.com, mchangir@redhat.com, stable@vger.kernel.org,
	Luis Henriques <lhenriques@suse.de>
Subject: Re: [PATCH] libceph: init the cursor when preparing the sparse read
Date: Mon, 4 Mar 2024 08:43:31 +0800	[thread overview]
Message-ID: <256b4b68-87e6-4686-9c51-e00712add8b3@redhat.com> (raw)
In-Reply-To: <CAOi1vP_WGs4yQz62UaVBDWk-vkcAQ7=SgQG37Zu86Q2QusMgOw@mail.gmail.com>


On 3/2/24 01:15, Ilya Dryomov wrote:
> On Fri, Mar 1, 2024 at 2:53 AM Xiubo Li <xiubli@redhat.com> wrote:
>>
>> On 2/29/24 18:48, Ilya Dryomov wrote:
>>> On Thu, Feb 29, 2024 at 5:22 AM <xiubli@redhat.com> wrote:
>>>> From: Xiubo Li <xiubli@redhat.com>
>>>>
>>>> The osd code has remove cursor initilizing code and this will make
>>>> the sparse read state into a infinite loop. We should initialize
>>>> the cursor just before each sparse-read in messnger v2.
>>>>
>>>> Cc: stable@vger.kernel.org
>>>> URL: https://tracker.ceph.com/issues/64607
>>>> Fixes: 8e46a2d068c9 ("libceph: just wait for more data to be available on the socket")
>>>> Reported-by: Luis Henriques <lhenriques@suse.de>
>>>> Signed-off-by: Xiubo Li <xiubli@redhat.com>
>>>> ---
>>>>    net/ceph/messenger_v2.c | 3 +++
>>>>    1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/net/ceph/messenger_v2.c b/net/ceph/messenger_v2.c
>>>> index a0ca5414b333..7ae0f80100f4 100644
>>>> --- a/net/ceph/messenger_v2.c
>>>> +++ b/net/ceph/messenger_v2.c
>>>> @@ -2025,6 +2025,7 @@ static int prepare_sparse_read_cont(struct ceph_connection *con)
>>>>    static int prepare_sparse_read_data(struct ceph_connection *con)
>>>>    {
>>>>           struct ceph_msg *msg = con->in_msg;
>>>> +       u64 len = con->in_msg->sparse_read_total ? : data_len(con->in_msg);
>>>>
>>>>           dout("%s: starting sparse read\n", __func__);
>>>>
>>>> @@ -2034,6 +2035,8 @@ static int prepare_sparse_read_data(struct ceph_connection *con)
>>>>           if (!con_secure(con))
>>>>                   con->in_data_crc = -1;
>>>>
>>>> +       ceph_msg_data_cursor_init(&con->v2.in_cursor, con->in_msg, len);
>>>> +
>>>>           reset_in_kvecs(con);
>>>>           con->v2.in_state = IN_S_PREPARE_SPARSE_DATA_CONT;
>>>>           con->v2.data_len_remain = data_len(msg);
>>>> --
>>>> 2.43.0
>>>>
>>> Hi Xiubo,
>>>
>>> How did this get missed?  Was generic/580 not paired with msgr2 in crc
>>> mode or are we not running generic/580 at all?
>>>
>>> Multiple runs have happened since the patch was staged so if the matrix
>>> is set up correctly ms_mode=crc should have been in effect for xfstests
>>> at least a couple of times.
>> I just found that my test script is incorrect and missed this case.
>>
>> The test locally is covered the msgr1 mostly and I think the qa test
>> suite also doesn't cover it too. I will try to improve the qa tests later.
> Could you please provide some details on the fixes needed to address
> the coverage gap in the fs suite?

Mainly to support the msgr v2 for fscrypt, before we only tested the 
fscrypt based on the msgr v1 for kclient. In ceph upstream we have 
support this while not backport it to reef yet.

>    I'm lost because you marked [1] for
> backporting to reef as (part of?) the solution, however Venky's job [2]
> that is linked there in the tracker is based on main and therefore has
> everything.
>
> Additionally, [2] seems to be have failed when installing packages, so
> the relationship to [1] isn't obvious to me.

It should be a wrong link, let me check and correct it later.

Thanks

- Xiubo

>
> [1] https://tracker.ceph.com/issues/59195
> [2] https://pulpito.ceph.com/vshankar-2024-02-27_04:05:06-fs-wip-vshankar-testing-20240226.124304-testing-default-smithi/7574417/
>
> Thanks,
>
>                  Ilya
>


  reply	other threads:[~2024-03-04  0:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-29  4:19 [PATCH] libceph: init the cursor when preparing the sparse read xiubli
2024-02-29  9:48 ` Luis Henriques
2024-02-29 10:48 ` Ilya Dryomov
2024-03-01  1:53   ` Xiubo Li
2024-03-01 17:15     ` Ilya Dryomov
2024-03-04  0:43       ` Xiubo Li [this message]
2024-03-04 11:12         ` Ilya Dryomov
2024-03-04 13:23           ` Xiubo Li
2024-03-01 16:16 ` Ilya Dryomov
2024-03-04  1:02   ` Xiubo Li
2024-03-04 11:02     ` Ilya Dryomov
     [not found]       ` <f54b8fb3-4343-4802-a495-51c5feed52b4@redhat.com>
2024-03-04 15:45         ` Ilya Dryomov

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=256b4b68-87e6-4686-9c51-e00712add8b3@redhat.com \
    --to=xiubli@redhat.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=idryomov@gmail.com \
    --cc=jlayton@kernel.org \
    --cc=lhenriques@suse.de \
    --cc=mchangir@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=vshankar@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox