]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: reply session reject for open request from blacklisted client 22138/head
authorYan, Zheng <zyan@redhat.com>
Fri, 11 May 2018 06:55:12 +0000 (14:55 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 22 May 2018 03:07:53 +0000 (11:07 +0800)
Kernel client and old version libcephfs do not check if themselves
are blacklisted. They can be stuck at opening session after getting
blacklisted. The session reject message can avoid this.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: https://tracker.ceph.com/issues/24054
(cherry picked from commit b7c6cd8a54f094acb58603b8c6bae9e570a73e27)

src/mds/Server.cc

index d68f863c872581782a535a95481060d2ed15c66f..a8af66f77b21c537ec6aec243d25dae27caefc2b 100644 (file)
@@ -359,7 +359,8 @@ void Server::handle_client_session(MClientSession *m)
         });
 
     if (blacklisted) {
-      dout(10) << "ignoring blacklisted client " << session->info.inst.addr << dendl;
+      dout(10) << "rejecting blacklisted client " << session->info.inst.addr << dendl;
+      mds->send_message_client(new MClientSession(CEPH_SESSION_REJECT), session);
       m->put();
       return;
     }