Skip to content

Commit fb2023e

Browse files
authored
Merge pull request ceph#57474 from xxhdx1985126/wip-seastore-rewrite-bug-fix
crimson/os/seastore/transaction_manager: correct the offset of the data copied from the original extents Reviewed-by: Yingxin Cheng <[email protected]>
2 parents bfe574c + e7ccb91 commit fb2023e

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/crimson/os/seastore/btree/fixed_kv_btree.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,6 +1040,7 @@ class FixedKVBtree {
10401040
n_fixed_kv_extent->get_bptr().c_str());
10411041
n_fixed_kv_extent->set_modify_time(fixed_kv_extent.get_modify_time());
10421042
n_fixed_kv_extent->range = n_fixed_kv_extent->get_node_meta();
1043+
n_fixed_kv_extent->set_last_committed_crc(fixed_kv_extent.get_last_committed_crc());
10431044

10441045
if (fixed_kv_extent.get_type() == internal_node_t::TYPE ||
10451046
leaf_node_t::do_has_children) {

src/crimson/os/seastore/transaction_manager.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -542,12 +542,12 @@ TransactionManager::rewrite_logical_extent(
542542
ceph_assert(left >= nextent->get_length());
543543
auto nlextent = nextent->template cast<LogicalCachedExtent>();
544544
lextent->get_bptr().copy_out(
545-
0,
545+
off,
546546
nlextent->get_length(),
547547
nlextent->get_bptr().c_str());
548548
nlextent->set_laddr(lextent->get_laddr() + off);
549549
nlextent->set_modify_time(lextent->get_modify_time());
550-
nlextent->set_last_committed_crc(nlextent->calc_crc32c());
550+
nlextent->set_last_committed_crc(lextent->get_last_committed_crc());
551551
DEBUGT("rewriting logical extent -- {} to {}", t, *lextent, *nlextent);
552552

553553
/* This update_mapping is, strictly speaking, unnecessary for delayed_alloc

0 commit comments

Comments
 (0)