From 63c8177e9ce34b6aa3fa8ce3d8d0b5a44c3af592 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sun, 20 Dec 2020 21:30:47 +0800 Subject: [PATCH] crimson/osd: return early if all omap entries are already read no need to get omap iterator in that case. Signed-off-by: Kefu Chai --- src/crimson/osd/replicated_recovery_backend.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/crimson/osd/replicated_recovery_backend.cc b/src/crimson/osd/replicated_recovery_backend.cc index 79b4d1a69af3d..97b1543461f36 100644 --- a/src/crimson/osd/replicated_recovery_backend.cc +++ b/src/crimson/osd/replicated_recovery_backend.cc @@ -480,11 +480,11 @@ ReplicatedRecoveryBackend::read_omap_for_push_op( uint64_t max_len, PushOp* push_op) { + if (progress.omap_complete) { + return seastar::make_ready_future<>(); + } return shard_services.get_store().get_omap_iterator(coll, ghobject_t{oid}) .then([&progress, &new_progress, &max_len, push_op](auto omap_iter) { - if (progress.omap_complete) { - return seastar::make_ready_future<>(); - } return omap_iter->lower_bound(progress.omap_recovered_to).then( [omap_iter, &new_progress, &max_len, push_op] { return seastar::do_until([omap_iter, &new_progress, max_len, push_op] { -- 2.39.5