diff options
author | Samuel Just <sam.just@inktank.com> | 2013-03-22 13:51:14 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-03-22 14:15:17 -0700 |
commit | 1cd51eb63a91fa0aa395c41572cfee4d53fbc7f5 (patch) | |
tree | ec1bd81a661245106fe7250bab20095dac07354a | |
parent | d866814285667c7f9cd9205dca6cf95f3634c5fc (diff) | |
download | ceph-1cd51eb63a91fa0aa395c41572cfee4d53fbc7f5.tar.gz |
PG::GetMissing: need to check need_up_thru in MLogRec handler
Backport: bobtail
Fixes: #4534
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 4fe4deafbe1758a6b3570048aca57485bd562440)
-rw-r--r-- | src/osd/PG.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/osd/PG.cc b/src/osd/PG.cc index fbaf70c23e5..0878dc0d553 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -6871,7 +6871,14 @@ boost::statechart::result PG::RecoveryState::GetMissing::react(const MLogRec& lo logevt.msg->info, logevt.msg->log, logevt.msg->missing, logevt.from); if (peer_missing_requested.empty()) { - post_event(CheckRepops()); + if (pg->need_up_thru) { + dout(10) << " still need up_thru update before going active" << dendl; + post_event(NeedUpThru()); + } else { + dout(10) << "Got last missing, don't need missing " + << "posting CheckRepops" << dendl; + post_event(CheckRepops()); + } } return discard_event(); }; |