hfsplus: honor setgid flag on directories
[muen/linux.git] / fs / hfsplus / inode.c
index 190c60efbc99804293661cda554dfcabc13c9d4f..c0c8d433864f15cc97ee9aead06298dab27443b5 100644 (file)
@@ -354,7 +354,8 @@ static const struct file_operations hfsplus_file_operations = {
        .unlocked_ioctl = hfsplus_ioctl,
 };
 
-struct inode *hfsplus_new_inode(struct super_block *sb, umode_t mode)
+struct inode *hfsplus_new_inode(struct super_block *sb, struct inode *dir,
+                               umode_t mode)
 {
        struct hfsplus_sb_info *sbi = HFSPLUS_SB(sb);
        struct inode *inode = new_inode(sb);
@@ -364,9 +365,7 @@ struct inode *hfsplus_new_inode(struct super_block *sb, umode_t mode)
                return NULL;
 
        inode->i_ino = sbi->next_cnid++;
-       inode->i_mode = mode;
-       inode->i_uid = current_fsuid();
-       inode->i_gid = current_fsgid();
+       inode_init_owner(inode, dir, mode);
        set_nlink(inode, 1);
        inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);