From: Yingxin Cheng Date: Thu, 18 Mar 2021 09:16:17 +0000 (+0800) Subject: crimson/onode-staged-tree: cleanup replace_track/track_split() X-Git-Tag: v17.1.0~2110^2~31 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=72a0b6e9de24435f34ed8b572233b42e59cbccd8;p=ceph.git crimson/onode-staged-tree: cleanup replace_track/track_split() Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc b/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc index 67c5a339bca8..0a55553b99cd 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc @@ -744,15 +744,14 @@ void InternalNode::replace_track( void InternalNode::track_split( const search_position_t& split_pos, Ref right_node) { - auto first = tracked_child_nodes.lower_bound(split_pos); - auto iter = first; + auto iter = tracked_child_nodes.lower_bound(split_pos); while (iter != tracked_child_nodes.end()) { - search_position_t new_pos = iter->first; + auto new_pos = iter->first; + auto p_node = iter->second; + iter = tracked_child_nodes.erase(iter); new_pos -= split_pos; - iter->second->as_child(new_pos, right_node); - ++iter; + p_node->as_child(new_pos, right_node); } - tracked_child_nodes.erase(first, tracked_child_nodes.end()); } void InternalNode::validate_child(const Node& child) const @@ -1082,15 +1081,14 @@ void LeafNode::track_split( const search_position_t& split_pos, Ref right_node) { // update cursor ownership and position - auto first = tracked_cursors.lower_bound(split_pos); - auto iter = first; + auto iter = tracked_cursors.lower_bound(split_pos); while (iter != tracked_cursors.end()) { - search_position_t new_pos = iter->first; + auto new_pos = iter->first; + auto p_cursor = iter->second; + iter = tracked_cursors.erase(iter); new_pos -= split_pos; - iter->second->update_track(right_node, new_pos); - ++iter; + p_cursor->update_track(right_node, new_pos); } - tracked_cursors.erase(first, tracked_cursors.end()); } node_future LeafNode::allocate(