From: chunmei-liu Date: Fri, 15 Jul 2022 05:16:27 +0000 (-0700) Subject: crimson/seastore: fix list_onodes bug X-Git-Tag: v18.0.0~428^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=16becf3157916034761c948a9943acfda2246a63;p=ceph.git crimson/seastore: fix list_onodes bug Signed-off-by: chunmei-liu --- 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 33cf10e35885..8d75f9fa837c 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);