seastar::future<> PG::read_state(crimson::os::FuturizedStore* store)
{
+ if (__builtin_expect(stopping, false)) {
+ return seastar::make_exception_future<>(
+ crimson::common::system_shutdown_exception());
+ }
+
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),