From 2cebba564606c5235423fe6d30bc5c533d0c209c Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Sun, 11 Apr 2021 23:22:37 +0800 Subject: [PATCH] crimson/onode-staged-tree: fix get_pivot_index() for leaf node Signed-off-by: Yingxin Cheng --- .../seastore/onode_manager/staged-fltree/node_layout.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/node_layout.h b/src/crimson/os/seastore/onode_manager/staged-fltree/node_layout.h index 5533c70812e56..2c82a5cffe76a 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/node_layout.h +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node_layout.h @@ -108,14 +108,13 @@ class NodeLayoutT final : public InternalNodeImpl, public LeafNodeImpl { node_offset_t free_size() const override { return extent.read().free_size(); } std::optional get_pivot_index() const override { - if constexpr (NODE_TYPE == node_type_t::INTERNAL) { - if (is_level_tail()) { - return std::nullopt; - } + if (is_level_tail()) { + return std::nullopt; } assert(!is_keys_empty()); key_view_t pivot_index; - get_largest_slot(nullptr, &pivot_index, nullptr); + STAGE_T::template get_largest_slot( + extent.read(), nullptr, &pivot_index, nullptr); return {pivot_index}; } -- 2.39.5