Re: [PATCH 1/2] libceph: fail the sparse-read if there still has data in socket

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


On 12/8/23 23:28, Ilya Dryomov wrote:
On Fri, Dec 8, 2023 at 4:18 PM Xiubo Li <xiubli@xxxxxxxxxx> wrote:

On 12/8/23 19:31, Ilya Dryomov wrote:

On Fri, Dec 8, 2023 at 5:34 AM <xiubli@xxxxxxxxxx> wrote:

From: Xiubo Li <xiubli@xxxxxxxxxx>

Once this happens that means there have bugs.

Signed-off-by: Xiubo Li <xiubli@xxxxxxxxxx>
  net/ceph/osd_client.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index 5753036d1957..848ef19055a0 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -5912,10 +5912,12 @@ static int osd_sparse_read(struct ceph_connection *con,
         case CEPH_SPARSE_READ_DATA:
                 if (sr->sr_index >= count) {
-                       if (sr->sr_datalen && count)
+                       if (sr->sr_datalen) {
                                 pr_warn_ratelimited("sr_datalen %u sr_index %d count %u\n",
                                                     sr->sr_datalen, sr->sr_index,
+                               return -EREMOTEIO;
+                       }

                         sr->sr_state = CEPH_SPARSE_READ_HDR;
                         goto next_op;

Hi Xiubo,

There is a patch in linux-next, also from you, which is conflicting
with this one: cca19d307d35 ("libceph: check the data length when
sparse read finishes").  Do you want it replaced?


I found the commit cca19d307d35 has already in the master branch. Could you fold and update it ?
I would like to see the entire fix first.  You seem to be going back
and forth between just issuing a warning or also returning an error and
the precise if condition there, so I'm starting to think that the bug
is not fully understood and neither patch might be necessary.

Sure, I just sent out the second version.


- Xiubo



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

  Powered by Linux