]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: consider MDS as recovered when it reaches clientreplay state.
authorYan, Zheng <zheng.z.yan@intel.com>
Mon, 25 Mar 2013 06:22:13 +0000 (14:22 +0800)
committerGreg Farnum <greg@inktank.com>
Mon, 1 Apr 2013 16:16:36 +0000 (09:16 -0700)
MDS in clientreplsy state already starts servering requests. It also
make MDS::handle_mds_recovery() and MDS::recovery_done() match.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
src/mds/MDS.cc

index d2e98fc76c09ee0a59fea12ecf1c507a4f277b92..3b9c8e98201915c2c1d33090677a81bb1a38418a 100644 (file)
@@ -1032,7 +1032,9 @@ void MDS::handle_mds_map(MMDSMap *m)
 
     set<int> oldactive, active;
     oldmap->get_mds_set(oldactive, MDSMap::STATE_ACTIVE);
+    oldmap->get_mds_set(oldactive, MDSMap::STATE_CLIENTREPLAY);
     mdsmap->get_mds_set(active, MDSMap::STATE_ACTIVE);
+    mdsmap->get_mds_set(active, MDSMap::STATE_CLIENTREPLAY);
     for (set<int>::iterator p = active.begin(); p != active.end(); ++p) 
       if (*p != whoami &&            // not me
          oldactive.count(*p) == 0)  // newly so?