]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: Don't drop client request from MDS
authorYan, Zheng <zheng.z.yan@intel.com>
Tue, 2 Oct 2012 08:55:41 +0000 (16:55 +0800)
committerSage Weil <sage@inktank.com>
Tue, 2 Oct 2012 18:22:21 +0000 (11:22 -0700)
MDS may send client request for stray migration/reintegration.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/MDCache.cc
src/mds/MDS.cc

index 06933f9cc5fc100e013973fd7b5c49798eda1150..efa66710789cae7a0220c150b5de586e0320e2a0 100644 (file)
@@ -7473,7 +7473,8 @@ void MDCache::request_forward(MDRequest *mdr, int who, int port)
 void MDCache::dispatch_request(MDRequest *mdr)
 {
   if (mdr->client_request) {
-    if (!mdr->item_session_request.is_on_list()) {
+    if (!mdr->reqid.name.is_mds() &&
+       !mdr->item_session_request.is_on_list()) {
       dout(10) << "request " << *mdr << " is canceled" << dendl;
       return;
     }
index 8a5355b3728277559f3cc4925c541a981781d506..3e7c97c166274d7e5c4a404638cbbc3fa298293a 100644 (file)
@@ -1716,9 +1716,9 @@ bool MDS::handle_deferrable_message(Message *m)
     switch (m->get_type()) {
       // SERVER
     case CEPH_MSG_CLIENT_SESSION:
-    case CEPH_MSG_CLIENT_REQUEST:
     case CEPH_MSG_CLIENT_RECONNECT:
       ALLOW_MESSAGES_FROM(CEPH_ENTITY_TYPE_CLIENT);
+    case CEPH_MSG_CLIENT_REQUEST:
       server->dispatch(m);
       break;
     case MSG_MDS_SLAVE_REQUEST: