]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: drop requests on closed|closing|etc sessions
authorSage Weil <sage@newdream.net>
Tue, 1 Dec 2009 18:38:47 +0000 (10:38 -0800)
committerSage Weil <sage@newdream.net>
Tue, 1 Dec 2009 18:38:47 +0000 (10:38 -0800)
src/mds/Server.cc

index 18a4065c3466c9666708f8363640791feda5ac87..4517582f669a966259a18c5f823721ed84689e81 100644 (file)
@@ -203,7 +203,7 @@ void Server::handle_client_session(MClientSession *m)
 
   case CEPH_SESSION_REQUEST_RENEWCAPS:
     if (session->is_closed()) {
-      dout(10) << "ignoring renewcaps on clsoed session" << dendl;
+      dout(10) << "ignoring renewcaps on closed session" << dendl;
     } else {
       mds->sessionmap.touch_session(session);
       if (session->is_stale()) {
@@ -937,6 +937,12 @@ void Server::handle_client_request(MClientRequest *req)
       delete req;
       return;
     }
+    if (session->is_closed() || session->is_closing() || session->is_stale_purging() ||
+       session->is_stale_closing()) {
+      dout(5) << "session closed|closing|stale_purging|stale_closing, dropping" << dendl;
+      delete req;
+      return;
+    }
   }
 
   // old mdsmap?