On Mon, Nov 6, 2023 at 2:19 AM <xiubli@xxxxxxxxxx> wrote: > > From: Xiubo Li <xiubli@xxxxxxxxxx> > > For sparse reading the real length of the data should equal to the > total length from the extent array. > > URL: https://tracker.ceph.com/issues/62081 > Signed-off-by: Xiubo Li <xiubli@xxxxxxxxxx> > Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx> > --- > net/ceph/osd_client.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c > index 0e629dfd55ee..050dc39065fb 100644 > --- a/net/ceph/osd_client.c > +++ b/net/ceph/osd_client.c > @@ -5920,6 +5920,12 @@ static int osd_sparse_read(struct ceph_connection *con, > fallthrough; > case CEPH_SPARSE_READ_DATA: > if (sr->sr_index >= count) { > + if (sr->sr_datalen && count) { > + pr_warn_ratelimited("%s: datalen and extents mismath, %d left\n", > + __func__, sr->sr_datalen); > + return -EREMOTEIO; By returning EREMOTEIO here you have significantly changed the semantics (in v2 it was just a warning) but Jeff's Reviewed-by is retained. Has he acked the change? Thanks, Ilya