udf: replace inode uid,gid,mode init with helper
Acked-by: Jan Kara <jack@suse.cz> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
abf5d08aca
commit
a6c5a0342a
|
@ -124,15 +124,8 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err)
|
||||||
udf_updated_lvid(sb);
|
udf_updated_lvid(sb);
|
||||||
}
|
}
|
||||||
mutex_unlock(&sbi->s_alloc_mutex);
|
mutex_unlock(&sbi->s_alloc_mutex);
|
||||||
inode->i_mode = mode;
|
|
||||||
inode->i_uid = current_fsuid();
|
inode_init_owner(inode, dir, mode);
|
||||||
if (dir->i_mode & S_ISGID) {
|
|
||||||
inode->i_gid = dir->i_gid;
|
|
||||||
if (S_ISDIR(mode))
|
|
||||||
mode |= S_ISGID;
|
|
||||||
} else {
|
|
||||||
inode->i_gid = current_fsgid();
|
|
||||||
}
|
|
||||||
|
|
||||||
iinfo->i_location.logicalBlockNum = block;
|
iinfo->i_location.logicalBlockNum = block;
|
||||||
iinfo->i_location.partitionReferenceNum =
|
iinfo->i_location.partitionReferenceNum =
|
||||||
|
|
|
@ -579,7 +579,6 @@ static int udf_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||||
inode->i_data.a_ops = &udf_aops;
|
inode->i_data.a_ops = &udf_aops;
|
||||||
inode->i_op = &udf_file_inode_operations;
|
inode->i_op = &udf_file_inode_operations;
|
||||||
inode->i_fop = &udf_file_operations;
|
inode->i_fop = &udf_file_operations;
|
||||||
inode->i_mode = mode;
|
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
|
|
||||||
fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
|
fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
|
||||||
|
@ -627,7 +626,6 @@ static int udf_mknod(struct inode *dir, struct dentry *dentry, int mode,
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
iinfo = UDF_I(inode);
|
iinfo = UDF_I(inode);
|
||||||
inode->i_uid = current_fsuid();
|
|
||||||
init_special_inode(inode, mode, rdev);
|
init_special_inode(inode, mode, rdev);
|
||||||
fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
|
fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
|
||||||
if (!fi) {
|
if (!fi) {
|
||||||
|
@ -674,7 +672,7 @@ static int udf_mkdir(struct inode *dir, struct dentry *dentry, int mode)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
inode = udf_new_inode(dir, S_IFDIR, &err);
|
inode = udf_new_inode(dir, S_IFDIR | mode, &err);
|
||||||
if (!inode)
|
if (!inode)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
@ -697,9 +695,6 @@ static int udf_mkdir(struct inode *dir, struct dentry *dentry, int mode)
|
||||||
FID_FILE_CHAR_DIRECTORY | FID_FILE_CHAR_PARENT;
|
FID_FILE_CHAR_DIRECTORY | FID_FILE_CHAR_PARENT;
|
||||||
udf_write_fi(inode, &cfi, fi, &fibh, NULL, NULL);
|
udf_write_fi(inode, &cfi, fi, &fibh, NULL, NULL);
|
||||||
brelse(fibh.sbh);
|
brelse(fibh.sbh);
|
||||||
inode->i_mode = S_IFDIR | mode;
|
|
||||||
if (dir->i_mode & S_ISGID)
|
|
||||||
inode->i_mode |= S_ISGID;
|
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
|
|
||||||
fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
|
fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
|
||||||
|
@ -912,7 +907,7 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry,
|
||||||
dquot_initialize(dir);
|
dquot_initialize(dir);
|
||||||
|
|
||||||
lock_kernel();
|
lock_kernel();
|
||||||
inode = udf_new_inode(dir, S_IFLNK, &err);
|
inode = udf_new_inode(dir, S_IFLNK | S_IRWXUGO, &err);
|
||||||
if (!inode)
|
if (!inode)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
@ -923,7 +918,6 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry,
|
||||||
}
|
}
|
||||||
|
|
||||||
iinfo = UDF_I(inode);
|
iinfo = UDF_I(inode);
|
||||||
inode->i_mode = S_IFLNK | S_IRWXUGO;
|
|
||||||
inode->i_data.a_ops = &udf_symlink_aops;
|
inode->i_data.a_ops = &udf_symlink_aops;
|
||||||
inode->i_op = &udf_symlink_inode_operations;
|
inode->i_op = &udf_symlink_inode_operations;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue