From: Chanyoung Park Date: Thu, 24 Jul 2025 15:52:35 +0000 (+0000) Subject: crimson/.../omap_btree_node_impl: pass pivot_idx for balancing X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a0e457ad6873569114391f367f9fe62664f2e36b;p=ceph.git crimson/.../omap_btree_node_impl: pass pivot_idx for balancing Fixes: https://tracker.ceph.com/issues/72270 Signed-off-by: Chanyoung Park --- diff --git a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc index 7efb21f8f1419..2f5847d623d96 100644 --- a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc +++ b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc @@ -559,7 +559,7 @@ OMapInnerNode::do_balance( DEBUGT("balanced l {} r {} liter {} riter {}", oc.t, *l, *r, liter->get_key(), riter->get_key()); return l->make_balanced(oc, r, *pivot_idx - ).si_then([FNAME, liter=liter, riter=riter, l=l, r=r, oc, this](auto tuple) { + ).si_then([FNAME, pivot_idx=*pivot_idx, liter=liter, riter=riter, l=l, r=r, oc, this](auto tuple) { auto [replacement_l, replacement_r, replacement_pivot] = tuple; replacement_l->init_range(l->get_begin(), replacement_pivot); replacement_r->init_range(replacement_pivot, r->get_end()); @@ -571,7 +571,7 @@ OMapInnerNode::do_balance( auto &rep_left = *replacement_l->template cast(); auto &rep_right = *replacement_r->template cast(); this->adjust_copy_src_dest_on_balance( - oc.t, left, right, true, rep_left, rep_right); + oc.t, left, right, pivot_idx, rep_left, rep_right); } //update operation will not cuase node overflow, so we can do it first