]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix handle_mds_map in standby_replay 4658/head
authorJohn Spray <john.spray@redhat.com>
Fri, 15 May 2015 14:53:13 +0000 (15:53 +0100)
committerJohn Spray <john.spray@redhat.com>
Fri, 15 May 2015 14:53:13 +0000 (15:53 +0100)
Broken by "mds: validate the state+rank in MDS map"

Signed-off-by: John Spray <john.spray@redhat.com>
src/mds/MDS.cc

index 52ccf1f54ab2d10d466f9d4054ef92a99eac3ca4..3a93c837a8f081885fc64036d814388db4ec1cc3 100644 (file)
@@ -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;