From cafb5e01aa42bc4904a7d169ddc50e19e72f44c2 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 23 May 2020 16:19:19 +0800 Subject: [PATCH] crimson/osd: avoid using variadic future Signed-off-by: Kefu Chai --- src/crimson/osd/ops_executer.cc | 6 ++++-- src/crimson/osd/osd.cc | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/crimson/osd/ops_executer.cc b/src/crimson/osd/ops_executer.cc index b905dc2f479eb..b6d557a31cb20 100644 --- a/src/crimson/osd/ops_executer.cc +++ b/src/crimson/osd/ops_executer.cc @@ -797,7 +797,7 @@ static seastar::future do_pgls_common( return backend.list_objects(lower_bound, limit).then( [&backend, filter, nspace](auto&& ret) { auto& [objects, next] = ret; - return seastar::when_all_succeed( + return seastar::when_all( seastar::map_reduce(std::move(objects), [&backend, filter, nspace](const hobject_t& obj) { if (obj.get_namespace() == nspace) { @@ -818,7 +818,9 @@ static seastar::future do_pgls_common( return std::move(entries); }), seastar::make_ready_future(next)); - }).then([pg_end](entries_t entries, hobject_t next) { + }).then([pg_end](auto&& ret) { + auto entries = std::move(std::get<0>(ret).get0()); + auto next = std::move(std::get<1>(ret).get0()); pg_ls_response_t response; response.handle = next.is_max() ? pg_end : next; response.entries = std::move(entries); diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index e0fd90ba4ce90..3591173f7559b 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -536,12 +536,12 @@ seastar::future> OSD::make_pg(cached_map_t create_map, return store->open_collection(cid); } }; - return seastar::when_all_succeed( + return seastar::when_all( std::move(get_pool_info), std::move(get_collection) - ).then([pgid, create_map, this] (auto info, - auto coll) { - auto [pool, name, ec_profile] = std::move(info); + ).then([pgid, create_map, this] (auto&& ret) { + auto [pool, name, ec_profile] = std::move(std::get<0>(ret).get0()); + auto coll = std::move(std::get<1>(ret).get0()); return seastar::make_ready_future>( new PG{pgid, pg_shard_t{whoami, pgid.shard}, -- 2.39.5