From 2492449195a45b3734ea694e4d0b442de525cb4f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 23 Dec 2009 12:04:39 -0800 Subject: [PATCH] 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. --- src/client/Client.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/client/Client.cc b/src/client/Client.cc index 77d78bd54a9a8..513bf0e60554a 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 -- 2.39.5