]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: ignore resolve messages received prior to resolve stage
authorSage Weil <sage@newdream.net>
Tue, 26 Apr 2011 23:46:57 +0000 (16:46 -0700)
committerSage Weil <sage@newdream.net>
Tue, 26 Apr 2011 23:46:57 +0000 (16:46 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/MDCache.cc

index 34892509a85c553a59e381c13fd9dbf46c68a382..e5915ca293f45261f4ba8c85c2827ab246998ff3 100644 (file)
@@ -2561,6 +2561,12 @@ void MDCache::handle_resolve(MMDSResolve *m)
   dout(7) << "handle_resolve from " << m->get_source() << dendl;
   int from = m->get_source().num();
 
+  if (mds->get_state() < MDSMap::STATE_RESOLVE) {
+    // wait until we reach the resolve stage!
+    m->put();
+    return;
+  }
+
   // ambiguous slave requests?
   if (!m->slave_requests.empty()) {
     MMDSResolveAck *ack = new MMDSResolveAck;