|
@@ -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);
|
|
|
|