From: Kefu Chai Date: Sat, 23 May 2020 08:19:19 +0000 (+0800) Subject: crimson/osd: avoid using variadic future X-Git-Tag: v16.1.0~2255^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cafb5e01aa42bc4904a7d169ddc50e19e72f44c2;p=ceph.git crimson/osd: avoid using variadic future Signed-off-by: Kefu Chai --- diff --git a/src/crimson/osd/ops_executer.cc b/src/crimson/osd/ops_executer.cc index b905dc2f479e..b6d557a31cb2 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 e0fd90ba4ce9..3591173f7559 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},