]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds/Server: skip auth check on session-less mdr's
authorSage Weil <sage@redhat.com>
Fri, 28 Aug 2015 21:32:11 +0000 (17:32 -0400)
committerSage Weil <sage@redhat.com>
Thu, 1 Oct 2015 13:42:35 +0000 (09:42 -0400)
The mds internal requests don't have a session.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mds/Server.cc

index 0d1b082cbda59f15e1682fe10a6f9709d9e65c4f..13e460df60fb31058676446d7b2d5e6a00718407 100644 (file)
@@ -2107,12 +2107,12 @@ void Server::handle_slave_auth_pin_ack(MDRequestRef& mdr, MMDSSlaveRequest *ack)
  */
 bool Server::check_access(MDRequestRef& mdr, CInode *in, unsigned mask)
 {
- if (!mdr->session->check_access(
-     in, mask,
-     mdr->client_request->get_caller_uid(),
-     mdr->client_request->get_caller_gid(),
-     mdr->client_request->head.args.setattr.uid,
-     mdr->client_request->head.args.setattr.gid)) {
+ if (mdr->session && !mdr->session->check_access(
+       in, mask,
+       mdr->client_request->get_caller_uid(),
+       mdr->client_request->get_caller_gid(),
+       mdr->client_request->head.args.setattr.uid,
+       mdr->client_request->head.args.setattr.gid)) {
     respond_to_request(mdr, -EACCES);
     return false;
   }