From: Kefu Chai Date: Sun, 24 May 2020 04:25:38 +0000 (+0800) Subject: crimson/osd: avoid using variadic future X-Git-Tag: wip-pdonnell-testing-20200918.022351~1190^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=ddf7727529ad91234b86e5b0033684eb46b6768f;p=ceph-ci.git crimson/osd: avoid using variadic future see also 3cee25ba41069e9e9b4855f99be20910759440ca Signed-off-by: Kefu Chai --- diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index cbf7795771f..4b80ee55de4 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -374,7 +374,8 @@ seastar::future<> PG::read_state(crimson::os::FuturizedStore* store) { return seastar::do_with(PGMeta(store, pgid), [] (auto& pg_meta) { return pg_meta.load(); - }).then([this, store](pg_info_t pg_info, PastIntervals past_intervals) { + }).then([this, store](auto&& ret) { + auto [pg_info, past_intervals] = std::move(ret); return peering_state.init_from_disk_state( std::move(pg_info), std::move(past_intervals), diff --git a/src/crimson/osd/pg_meta.cc b/src/crimson/osd/pg_meta.cc index e07ac6a6e33..e5dda965aa6 100644 --- a/src/crimson/osd/pg_meta.cc +++ b/src/crimson/osd/pg_meta.cc @@ -57,7 +57,7 @@ seastar::future PGMeta::get_epoch() }); } -seastar::future PGMeta::load() +seastar::future> PGMeta::load() { return store->open_collection(coll_t{pgid}).then([this](auto ch) { return store->omap_get_values(ch, @@ -95,8 +95,7 @@ seastar::future PGMeta::load() fast_info->try_apply_to(&info); } } - return seastar::make_ready_future( - std::move(info), - std::move(past_intervals)); + return seastar::make_ready_future>( + std::make_tuple(std::move(info), std::move(past_intervals))); }); } diff --git a/src/crimson/osd/pg_meta.h b/src/crimson/osd/pg_meta.h index 656d5b9be09..e0aa0271691 100644 --- a/src/crimson/osd/pg_meta.h +++ b/src/crimson/osd/pg_meta.h @@ -3,6 +3,7 @@ #pragma once +#include #include #include "osd/osd_types.h" @@ -18,5 +19,5 @@ class PGMeta public: PGMeta(crimson::os::FuturizedStore *store, spg_t pgid); seastar::future get_epoch(); - seastar::future load(); + seastar::future> load(); };