]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
add open check_access
authorJashan Kamboj <jashank42@gmail.com>
Fri, 24 Jul 2015 16:12:43 +0000 (21:42 +0530)
committerSage Weil <sage@redhat.com>
Thu, 1 Oct 2015 13:39:33 +0000 (09:39 -0400)
Signed-off-by: Jashan Kamboj <jashank42@gmail.com>
src/mds/Server.cc

index a714363a16fc3473018cc6bcabbbc99f17b227c1..9a5f07441205d389da4e0488f6d9d3cea137a0fe 100644 (file)
@@ -2900,6 +2900,9 @@ void Server::handle_client_open(MDRequestRef& mdr)
     if (!mds->locker->acquire_locks(mdr, rdlocks, wrlocks, xlocks))
       return;
 
+    if (!check_access(mdr, cur, MAY_WRITE))
+    return;
+
     // wait for pending truncate?
     const inode_t *pi = cur->get_projected_inode();
     if (pi->is_truncating()) {
@@ -3104,6 +3107,9 @@ void Server::handle_client_openc(MDRequestRef& mdr)
   if (!mds->locker->acquire_locks(mdr, rdlocks, wrlocks, xlocks))
     return;
 
+  if (!check_access(mdr, diri, MAY_WRITE))
+    return;
+
   CDentry::linkage_t *dnl = dn->get_projected_linkage();
 
   if (!dnl->is_null()) {