From: Kefu Chai Date: Sat, 19 Dec 2020 09:36:24 +0000 (+0800) Subject: crimson/osd: load obj ctx for backfill in parallel X-Git-Tag: v16.1.0~146^2~15 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a401fd2ded85812e8afa4407c1babab97d4aedca;p=ceph.git crimson/osd: load obj ctx for backfill in parallel no need to load object contexts for backfill sequentially. Signed-off-by: Kefu Chai --- diff --git a/src/crimson/osd/recovery_backend.cc b/src/crimson/osd/recovery_backend.cc index ff9963b2b753..3b8065e2f0f6 100644 --- a/src/crimson/osd/recovery_backend.cc +++ b/src/crimson/osd/recovery_backend.cc @@ -164,9 +164,9 @@ seastar::future RecoveryBackend::scan_for_backfill( [this, &start, max] (auto& version_map) { return backend->list_objects(start, max).then( [this, &start, &version_map] (auto&& ret) { - auto& [objects, next] = ret; - return seastar::do_for_each( - objects, + auto&& [objects, next] = std::move(ret); + return seastar::parallel_for_each( + std::move(objects), [this, &version_map] (const hobject_t& object) { crimson::osd::ObjectContextRef obc; if (pg.is_primary()) {