From: Zhang Song Date: Tue, 20 Aug 2024 09:30:02 +0000 (+0800) Subject: crimson/os/seastore/onode_manager: adapt block aligned laddr_t X-Git-Tag: v20.0.0~1167^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9050368208265a522691fc83c109f2cc8466902a;p=ceph.git crimson/os/seastore/onode_manager: adapt block aligned laddr_t Use laddr_offset_t as parameter for ValueDeltaRecorder, since the payload offset may not be block aligned. Signed-off-by: Zhang Song --- diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc b/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc index bedcff107e27..c81d7c80ee21 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc @@ -12,7 +12,7 @@ namespace crimson::os::seastore::onode { void FLTreeOnode::Recorder::apply_value_delta( ceph::bufferlist::const_iterator &bliter, NodeExtentMutable &value, - laddr_t value_addr) + laddr_offset_t value_addr_offset) { LOG_PREFIX(FLTreeOnode::Recorder::apply_value_delta); delta_op_t op; diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.h b/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.h index 155776046ef5..60af73c0a2c9 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.h +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.h @@ -66,7 +66,7 @@ struct FLTreeOnode final : Onode, Value { void apply_value_delta( ceph::bufferlist::const_iterator &bliter, NodeExtentMutable &value, - laddr_t value_addr) final; + laddr_offset_t value_addr_offset) final; void encode_update(NodeExtentMutable &payload_mut, delta_op_t op); }; diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/value.h b/src/crimson/os/seastore/onode_manager/staged-fltree/value.h index f32d5f1e6684..6cb953ced838 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/value.h +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/value.h @@ -141,7 +141,7 @@ class ValueDeltaRecorder { /// Called by DeltaRecorderT to apply user-defined value delta. virtual void apply_value_delta(ceph::bufferlist::const_iterator&, NodeExtentMutable&, - laddr_t) = 0; + laddr_offset_t) = 0; protected: ValueDeltaRecorder(ceph::bufferlist& encoded) : encoded{encoded} {} diff --git a/src/test/crimson/seastore/onode_tree/test_value.h b/src/test/crimson/seastore/onode_tree/test_value.h index 71908be95b09..4261b0e01a48 100644 --- a/src/test/crimson/seastore/onode_tree/test_value.h +++ b/src/test/crimson/seastore/onode_tree/test_value.h @@ -137,7 +137,7 @@ class TestValue final : public Value { void apply_value_delta(ceph::bufferlist::const_iterator& delta, NodeExtentMutable& payload_mut, - laddr_t value_addr) override { + laddr_offset_t value_addr_offset) override { delta_op_t op; try { ceph::decode(op, delta); @@ -160,12 +160,12 @@ class TestValue final : public Value { } default: logger().error("OTree::TestValue::Replay: got unknown op {} when replay {}~{:#x}", - op, value_addr, payload_mut.get_length()); + op, value_addr_offset, payload_mut.get_length()); ceph_abort(); } } catch (buffer::error& e) { logger().error("OTree::TestValue::Replay: got decode error {} when replay {}~{:#x}", - e.what(), value_addr, payload_mut.get_length()); + e.what(), value_addr_offset, payload_mut.get_length()); ceph_abort(); } }