]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #34492 from xxhdx1985126/wip-crimson-recovery-block-io-pr
authorKefu Chai <kchai@redhat.com>
Tue, 9 Jun 2020 16:00:34 +0000 (00:00 +0800)
committerGitHub <noreply@github.com>
Tue, 9 Jun 2020 16:00:34 +0000 (00:00 +0800)
crimson/net: fix system shutdown problems

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
1  2 
src/crimson/osd/osd.cc
src/crimson/osd/osd.h
src/crimson/osd/pg.cc
src/crimson/osd/pg.h
src/crimson/osd/pg_backend.h
src/tools/crimson/perf_crimson_msgr.cc

Simple merge
Simple merge
index 4b80ee55de45b0e96718ec2bc4272bac6a2d5e0d,0faccb5722d21eefb20cbf5c5dbbf0a22998b753..6f2da55c4f66f6d82f5c76ccd4d01a0dc1d3dc70
@@@ -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),
Simple merge
Simple merge