From: Kefu Chai Date: Tue, 9 Jun 2020 16:00:34 +0000 (+0800) Subject: Merge pull request #34492 from xxhdx1985126/wip-crimson-recovery-block-io-pr X-Git-Tag: v16.1.0~2096 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2bdbcf2ddfad6c8c6b61bcbf172fabbcf82b70bc;p=ceph.git Merge pull request #34492 from xxhdx1985126/wip-crimson-recovery-block-io-pr crimson/net: fix system shutdown problems Reviewed-by: Yingxin Cheng Reviewed-by: Kefu Chai --- 2bdbcf2ddfad6c8c6b61bcbf172fabbcf82b70bc diff --cc src/crimson/osd/pg.cc index 4b80ee55de45,0faccb5722d2..6f2da55c4f66 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@@ -372,10 -373,14 +373,15 @@@ void PG::init 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),