]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: mask mode on chmod properly
authorSage Weil <sage@newdream.net>
Mon, 7 Apr 2008 18:20:10 +0000 (11:20 -0700)
committerSage Weil <sage@newdream.net>
Mon, 7 Apr 2008 18:20:25 +0000 (11:20 -0700)
src/mds/Server.cc

index d888fb960eece80a870b67bace7eb5a17a72d33a..7baff7e81caea65d0310368a7ae8b54d63c8e9b6 100644 (file)
@@ -1649,10 +1649,11 @@ void Server::handle_client_chmod(MDRequest *mdr)
   // project update
   inode_t *pi = cur->project_inode();
   pi->mode = 
-    (pi->mode & ~04777) | 
-    (req->head.args.chmod.mode & 04777);
+    (pi->mode & ~03777) | 
+    (req->head.args.chmod.mode & 03777);
   pi->version = cur->pre_dirty();
   pi->ctime = g_clock.real_now();
+  dout(10) << "chmod " << oct << pi->mode << " (" << req->head.args.chmod.mode << ")" << dec << *cur << dendl;
 
   // log + wait
   mdr->ls = mdlog->get_current_segment();