From: Sage Weil Date: Wed, 23 Dec 2009 20:04:39 +0000 (-0800) Subject: uclient: clean up mark_down of failed mds X-Git-Tag: v0.19~207 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2492449195a45b3734ea694e4d0b442de525cb4f;p=ceph.git uclient: clean up mark_down of failed mds Set inst at the time we see it change, otherwise we may miss an mds that replayed but failed before it fully recovered. --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 77d78bd54a9a..513bf0e60554 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -1332,6 +1332,8 @@ void Client::handle_mds_map(MMDSMap* m) if (!mdsmap->is_up(p->first) || mdsmap->get_inst(p->first) != p->second.inst) { messenger->mark_down(p->second.inst.addr); + if (mdsmap->is_up(p->first)) + p->second.inst = mdsmap->get_inst(p->first); } else if (oldstate == newstate) continue; // no change