From 9e8bb747ca11dd9b230158c02bd4f7830becb880 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Wed, 26 May 2021 12:45:27 +0800 Subject: [PATCH] crimson/onode-staged-tree: try merge peer if node has one value Signed-off-by: Yingxin Cheng --- src/crimson/os/seastore/onode_manager/staged-fltree/node.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 66fb3731279ff..9fcd950107eaf 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc @@ -517,7 +517,9 @@ Node::try_merge_adjacent( impl->validate_non_empty(); assert(!is_root()); if constexpr (!FORCE_MERGE) { - if (!impl->is_size_underflow()) { + if (!impl->is_size_underflow() && + !impl->has_single_value()) { + // skip merge if (update_parent_index) { return fix_parent_index(c, std::move(this_ref), false); } else { -- 2.39.5