]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: set mode before all the file type dependent inode initialization!
authorSage Weil <sage@newdream.net>
Tue, 16 Nov 2010 17:42:51 +0000 (09:42 -0800)
committerSage Weil <sage@newdream.net>
Tue, 16 Nov 2010 18:01:05 +0000 (10:01 -0800)
Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/Server.cc

index 539122386b0ef06a1c2d2b6dd4d4a90ea4e110cb..9e43cec8f8addc7bac14b4cf56e74bb35accfd9d 100644 (file)
@@ -1653,6 +1653,8 @@ CInode* Server::prepare_new_inode(MDRequest *mdr, CDir *dir, inodeno_t useino, u
   in->inode.version = 1;
   in->inode.nlink = 1;   // FIXME
 
+  in->inode.mode = mode;
+
   memset(&in->inode.dir_layout, 0, sizeof(in->inode.dir_layout));
   if (in->inode.is_dir())
     in->inode.dir_layout.dl_dir_hash = g_conf.mds_default_dir_hash;
@@ -1682,7 +1684,6 @@ CInode* Server::prepare_new_inode(MDRequest *mdr, CDir *dir, inodeno_t useino, u
     in->inode.gid = mdr->client_request->get_caller_gid();
 
   in->inode.uid = mdr->client_request->get_caller_uid();
-  in->inode.mode = mode;
 
   in->inode.ctime = in->inode.mtime = in->inode.atime = mdr->now;   // now