]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: reply session reject for open request from blacklisted client
authorYan, Zheng <zyan@redhat.com>
Fri, 11 May 2018 06:55:12 +0000 (14:55 +0800)
committerPrashant D <pdhange@redhat.com>
Thu, 24 May 2018 06:07:31 +0000 (02:07 -0400)
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 5132ece9e57cd433facaeb8f95e0104d3bd6c8b3..d93174f2ba2f860a89edb7e123da200be8b8bbbb 100644 (file)
@@ -356,7 +356,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;
     }