From: Xuehan Xu Date: Mon, 6 May 2024 02:11:40 +0000 (+0800) Subject: crimson/osd/pg_backend: DONOT modify OSDOp::indata when handling X-Git-Tag: v19.1.1~244^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F58025%2Fhead;p=ceph.git crimson/osd/pg_backend: DONOT modify OSDOp::indata when handling CEPH_OSD_OP_CHECKSUM So that crimson's handling of CEPH_OSD_OP_CHECKSUM is idempotent Fixes: https://tracker.ceph.com/issues/65804 Signed-off-by: Xuehan Xu (cherry picked from commit 899afd3472abb8055924278e7ee29c609ec4eb54) --- diff --git a/src/crimson/osd/pg_backend.cc b/src/crimson/osd/pg_backend.cc index 143f522bb375..2c707f6d573a 100644 --- a/src/crimson/osd/pg_backend.cc +++ b/src/crimson/osd/pg_backend.cc @@ -341,8 +341,6 @@ namespace { auto init_value_p = init_value_bl.cbegin(); try { decode(init_value, init_value_p); - // chop off the consumed part - init_value_bl.splice(0, init_value_p.get_off()); } catch (const ceph::buffer::end_of_buffer&) { logger().warn("{}: init value not provided", __func__); return crimson::ct_error::invarg::make();