Message ID | 20240118105047.792879-3-xiubli@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | libceph: fix sparse-read failure bug | expand |
On Thu, 2024-01-18 at 18:50 +0800, xiubli@redhat.com wrote: > From: Xiubo Li <xiubli@redhat.com> > > Actually the read_sparse_msg_XX functions allow to continue reading > and parsing the socket buffer when handling of short receives. > > Just rename it with _partial_ prefixed. > > URL: https://tracker.ceph.com/issues/63586 > Signed-off-by: Xiubo Li <xiubli@redhat.com> > --- > net/ceph/messenger_v1.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/net/ceph/messenger_v1.c b/net/ceph/messenger_v1.c > index f9a50d7f0d20..4cb60bacf5f5 100644 > --- a/net/ceph/messenger_v1.c > +++ b/net/ceph/messenger_v1.c > @@ -991,7 +991,7 @@ static inline int read_partial_message_section(struct ceph_connection *con, > return read_partial_message_chunk(con, section, sec_len, crc); > } > > -static int read_sparse_msg_extent(struct ceph_connection *con, u32 *crc) > +static int read_partial_sparse_msg_extent(struct ceph_connection *con, u32 *crc) > { > struct ceph_msg_data_cursor *cursor = &con->in_msg->cursor; > bool do_bounce = ceph_test_opt(from_msgr(con->msgr), RXBOUNCE); > @@ -1026,7 +1026,7 @@ static int read_sparse_msg_extent(struct ceph_connection *con, u32 *crc) > return 1; > } > > -static int read_sparse_msg_data(struct ceph_connection *con) > +static int read_partial_sparse_msg_data(struct ceph_connection *con) > { > struct ceph_msg_data_cursor *cursor = &con->in_msg->cursor; > bool do_datacrc = !ceph_test_opt(from_msgr(con->msgr), NOCRC); > @@ -1043,7 +1043,7 @@ static int read_sparse_msg_data(struct ceph_connection *con) > con->v1.in_sr_len, > &crc); > else if (cursor->sr_resid > 0) > - ret = read_sparse_msg_extent(con, &crc); > + ret = read_partial_sparse_msg_extent(con, &crc); > > if (ret <= 0) { > if (do_datacrc) > @@ -1254,7 +1254,7 @@ static int read_partial_message(struct ceph_connection *con) > return -EIO; > > if (m->sparse_read) > - ret = read_sparse_msg_data(con); > + ret = read_partial_sparse_msg_data(con); > else if (ceph_test_opt(from_msgr(con->msgr), RXBOUNCE)) > ret = read_partial_msg_data_bounce(con); > else Meh. I'm not sure this makes things any more clear, but OK: Acked-by: Jeff Layton <jlayton@kernel.org>
diff --git a/net/ceph/messenger_v1.c b/net/ceph/messenger_v1.c index f9a50d7f0d20..4cb60bacf5f5 100644 --- a/net/ceph/messenger_v1.c +++ b/net/ceph/messenger_v1.c @@ -991,7 +991,7 @@ static inline int read_partial_message_section(struct ceph_connection *con, return read_partial_message_chunk(con, section, sec_len, crc); } -static int read_sparse_msg_extent(struct ceph_connection *con, u32 *crc) +static int read_partial_sparse_msg_extent(struct ceph_connection *con, u32 *crc) { struct ceph_msg_data_cursor *cursor = &con->in_msg->cursor; bool do_bounce = ceph_test_opt(from_msgr(con->msgr), RXBOUNCE); @@ -1026,7 +1026,7 @@ static int read_sparse_msg_extent(struct ceph_connection *con, u32 *crc) return 1; } -static int read_sparse_msg_data(struct ceph_connection *con) +static int read_partial_sparse_msg_data(struct ceph_connection *con) { struct ceph_msg_data_cursor *cursor = &con->in_msg->cursor; bool do_datacrc = !ceph_test_opt(from_msgr(con->msgr), NOCRC); @@ -1043,7 +1043,7 @@ static int read_sparse_msg_data(struct ceph_connection *con) con->v1.in_sr_len, &crc); else if (cursor->sr_resid > 0) - ret = read_sparse_msg_extent(con, &crc); + ret = read_partial_sparse_msg_extent(con, &crc); if (ret <= 0) { if (do_datacrc) @@ -1254,7 +1254,7 @@ static int read_partial_message(struct ceph_connection *con) return -EIO; if (m->sparse_read) - ret = read_sparse_msg_data(con); + ret = read_partial_sparse_msg_data(con); else if (ceph_test_opt(from_msgr(con->msgr), RXBOUNCE)) ret = read_partial_msg_data_bounce(con); else