From ddf7727529ad91234b86e5b0033684eb46b6768f Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sun, 24 May 2020 12:25:38 +0800 Subject: [PATCH] crimson/osd: avoid using variadic future see also 3cee25ba41069e9e9b4855f99be20910759440ca Signed-off-by: Kefu Chai --- src/crimson/osd/pg.cc | 3 ++- src/crimson/osd/pg_meta.cc | 7 +++---- src/crimson/osd/pg_meta.h | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index cbf7795771f79..4b80ee55de45b 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 e07ac6a6e339c..e5dda965aa667 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 656d5b9be097f..e0aa02716917b 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(); }; -- 2.39.5