From 9050368208265a522691fc83c109f2cc8466902a Mon Sep 17 00:00:00 2001 From: Zhang Song Date: Tue, 20 Aug 2024 17:30:02 +0800 Subject: [PATCH] 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 --- .../onode_manager/staged-fltree/fltree_onode_manager.cc | 2 +- .../onode_manager/staged-fltree/fltree_onode_manager.h | 2 +- src/crimson/os/seastore/onode_manager/staged-fltree/value.h | 2 +- src/test/crimson/seastore/onode_tree/test_value.h | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) 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 bedcff107e2..c81d7c80ee2 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 155776046ef..60af73c0a2c 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 f32d5f1e668..6cb953ced83 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 71908be95b0..4261b0e01a4 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(); } } -- 2.47.3