From d1c1614db0f344676fa4fe568accf30d34fed119 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Fri, 2 Oct 2020 16:35:31 +0300 Subject: [PATCH] os/bluestore: avoid recursive calls in SimpleCollectionListIterator. Signed-off-by: Igor Fedotov --- src/os/bluestore/BlueStore.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 1530caed2f87..d086685c584b 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -694,16 +694,14 @@ private: ghobject_t m_oid; void get_oid() { - if (!valid()) { - return; + m_oid = ghobject_t(); + while (m_it->valid() && is_extent_shard_key(m_it->key())) { + m_it->next(); } - - if (is_extent_shard_key(m_it->key())) { - next(); + if (!valid()) { return; } - m_oid = ghobject_t(); int r = get_key_object(m_it->key(), &m_oid); ceph_assert(r == 0); } -- 2.47.3