@@ -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;
}
@@ -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: