From: John Spray Date: Fri, 15 May 2015 14:53:13 +0000 (+0100) Subject: mds: fix handle_mds_map in standby_replay X-Git-Tag: v9.0.2~138^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F4658%2Fhead;p=ceph.git mds: fix handle_mds_map in standby_replay Broken by "mds: validate the state+rank in MDS map" Signed-off-by: John Spray --- diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 52ccf1f54ab..3a93c837a8f 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -1566,14 +1566,14 @@ void MDS::handle_mds_map(MMDSMap *m) // see who i am addr = messenger->get_myaddr(); + state = mdsmap->get_state_gid(mds_gid_t(monc->get_global_id())); + incarnation = mdsmap->get_inc_gid(mds_gid_t(monc->get_global_id())); whoami = mdsmap->get_rank_gid(mds_gid_t(monc->get_global_id())); if (whoami == MDS_RANK_NONE && ( state == MDSMap::STATE_STANDBY_REPLAY || state == MDSMap::STATE_ONESHOT_REPLAY)) { whoami = mdsmap->get_mds_info_gid(mds_gid_t(monc->get_global_id())).standby_for_rank; } - state = mdsmap->get_state_gid(mds_gid_t(monc->get_global_id())); - incarnation = mdsmap->get_inc_gid(mds_gid_t(monc->get_global_id())); dout(10) << "map says i am " << addr << " mds." << whoami << "." << incarnation << " state " << ceph_mds_state_name(state) << dendl;