From: Jashan Kamboj Date: Fri, 24 Jul 2015 16:12:43 +0000 (+0530) Subject: add open check_access X-Git-Tag: v10.0.0~123^2~57 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e33cd74e4115ec5d04c0b9f77574751622f8834b;p=ceph.git add open check_access Signed-off-by: Jashan Kamboj --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index a714363a16fc..9a5f07441205 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -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()) {