From 72a0b6e9de24435f34ed8b572233b42e59cbccd8 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Thu, 18 Mar 2021 17:16:17 +0800 Subject: [PATCH] crimson/onode-staged-tree: cleanup replace_track/track_split() Signed-off-by: Yingxin Cheng --- .../onode_manager/staged-fltree/node.cc | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) 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 67c5a339bca81..0a55553b99cdd 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( -- 2.39.5