From 16becf3157916034761c948a9943acfda2246a63 Mon Sep 17 00:00:00 2001 From: chunmei-liu Date: Thu, 14 Jul 2022 22:16:27 -0700 Subject: [PATCH] crimson/seastore: fix list_onodes bug Signed-off-by: chunmei-liu --- .../onode_manager/staged-fltree/fltree_onode_manager.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc b/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc index 33cf10e35885b..8d75f9fa837ce 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc @@ -138,8 +138,11 @@ FLTreeOnodeManager::list_onodes_ret FLTreeOnodeManager::list_onodes( return trans_intr::repeat( [this, &trans, end, &to_list, ¤t_cursor, &ret] () -> eagain_ifuture { - if (current_cursor.is_end() || - current_cursor.get_ghobj() >= end) { + if (current_cursor.is_end()) { + std::get<1>(ret) = ghobject_t::get_max(); + return seastar::make_ready_future( + seastar::stop_iteration::yes); + } else if (current_cursor.get_ghobj() >= end) { std::get<1>(ret) = end; return seastar::make_ready_future( seastar::stop_iteration::yes); -- 2.39.5