From: Yingxin Cheng Date: Sun, 11 Apr 2021 15:22:37 +0000 (+0800) Subject: crimson/onode-staged-tree: fix get_pivot_index() for leaf node X-Git-Tag: v17.1.0~2110^2~22 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2cebba564606c5235423fe6d30bc5c533d0c209c;p=ceph.git crimson/onode-staged-tree: fix get_pivot_index() for leaf node Signed-off-by: Yingxin Cheng --- 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 5533c70812e5..2c82a5cffe76 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}; }