From 1054c87c19a6268be1b93da36c7c982bb60b6024 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 2 Apr 2013 13:05:46 -0700 Subject: [PATCH] Revert "mds: trigger tableserver active/recovery hook even for self" This reverts commit 968c6c0c9408b33904041e5ddbd9ea738e831713. This will trigger the 'ready' message twice when we restart, because we will trigger in both recovery_done() and handle_mds_recovery(). Signed-off-by: Sage Weil --- src/mds/MDS.cc | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 43618b8f1db86..99b14d963ea91 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -1036,7 +1036,8 @@ void MDS::handle_mds_map(MMDSMap *m) mdsmap->get_mds_set(active, MDSMap::STATE_ACTIVE); mdsmap->get_mds_set(active, MDSMap::STATE_CLIENTREPLAY); for (set::iterator p = active.begin(); p != active.end(); ++p) - if (oldactive.count(*p) == 0) // newly so? + if (*p != whoami && // not me + oldactive.count(*p) == 0) // newly so? handle_mds_recovery(*p); } @@ -1532,26 +1533,19 @@ void MDS::recovery_done() mdcache->populate_mydir(); } -// NOTE: called when any mds becomes active (even after creation) void MDS::handle_mds_recovery(int who) { dout(5) << "handle_mds_recovery mds." << who << dendl; - if (who != whoami) { - mdcache->handle_mds_recovery(who); - } + mdcache->handle_mds_recovery(who); - // NOTE: trigger this even for self, so that we nudge the - // client side. if (mdsmap->get_tableserver() == whoami) { anchorserver->handle_mds_recovery(who); snapserver->handle_mds_recovery(who); } - if (who != whoami) { - queue_waiters(waiting_for_active_peer[who]); - waiting_for_active_peer.erase(who); - } + queue_waiters(waiting_for_active_peer[who]); + waiting_for_active_peer.erase(who); } void MDS::handle_mds_failure(int who) -- 2.47.3