From e78944c2d659cf5d42ce55d8b41a6cdf01630a2a Mon Sep 17 00:00:00 2001 From: sageweil Date: Fri, 16 Nov 2007 23:45:58 +0000 Subject: [PATCH] small mdsmon fix git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@2077 29311d96-e01e-0410-9327-a35deaab8ce9 --- trunk/ceph/mon/MDSMonitor.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/trunk/ceph/mon/MDSMonitor.cc b/trunk/ceph/mon/MDSMonitor.cc index 7fd788afb2b26..516ccc41c6e47 100644 --- a/trunk/ceph/mon/MDSMonitor.cc +++ b/trunk/ceph/mon/MDSMonitor.cc @@ -113,7 +113,8 @@ bool MDSMonitor::update_from_paxos() p != mdsmap.mds_inst.end(); ++p) if (last_beacon.count(p->second.addr) == 0 && - mdsmap.get_state(p->first) != MDSMap::STATE_DNE) + mdsmap.get_state(p->first) != MDSMap::STATE_DNE && + mdsmap.get_state(p->first) != MDSMap::STATE_FAILED) last_beacon[p->second.addr] = g_clock.now(); for (map::iterator p = mdsmap.standby.begin(); p != mdsmap.standby.end(); @@ -579,7 +580,8 @@ void MDSMonitor::tick() if (mds >= 0) { // failure! int newstate; - switch (pending_mdsmap.get_state(mds)) { + int curstate = pending_mdsmap.get_state(mds); + switch (curstate) { case MDSMap::STATE_CREATING: newstate = MDSMap::STATE_DNE; // didn't finish creating last_beacon.erase(addr); -- 2.39.5