From: Sage Weil Date: Tue, 2 Apr 2013 20:05:46 +0000 (-0700) Subject: Revert "mds: trigger tableserver active/recovery hook even for self" X-Git-Tag: v0.62~106^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1054c87c19a6268be1b93da36c7c982bb60b6024;p=ceph.git 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 --- diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 43618b8f1db8..99b14d963ea9 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)