CRED: Wrap task credential accesses in the OCFS2 filesystem
Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: James Morris <jmorris@namei.org> Acked-by: Serge Hallyn <serue@us.ibm.com> Acked-by: Mark Fasheh <mfasheh@suse.com> Cc: Joel Becker <joel.becker@oracle.com> Cc: ocfs2-devel@oss.oracle.com Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
Родитель
5cc0a84076
Коммит
b19c2a3b83
|
@ -339,8 +339,8 @@ static struct inode *dlmfs_get_root_inode(struct super_block *sb)
|
|||
ip = DLMFS_I(inode);
|
||||
|
||||
inode->i_mode = mode;
|
||||
inode->i_uid = current->fsuid;
|
||||
inode->i_gid = current->fsgid;
|
||||
inode->i_uid = current_fsuid();
|
||||
inode->i_gid = current_fsgid();
|
||||
inode->i_blocks = 0;
|
||||
inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
|
@ -365,8 +365,8 @@ static struct inode *dlmfs_get_inode(struct inode *parent,
|
|||
return NULL;
|
||||
|
||||
inode->i_mode = mode;
|
||||
inode->i_uid = current->fsuid;
|
||||
inode->i_gid = current->fsgid;
|
||||
inode->i_uid = current_fsuid();
|
||||
inode->i_gid = current_fsgid();
|
||||
inode->i_blocks = 0;
|
||||
inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
|
|
|
@ -421,13 +421,13 @@ static int ocfs2_mknod_locked(struct ocfs2_super *osb,
|
|||
fe->i_blkno = cpu_to_le64(fe_blkno);
|
||||
fe->i_suballoc_bit = cpu_to_le16(suballoc_bit);
|
||||
fe->i_suballoc_slot = cpu_to_le16(inode_ac->ac_alloc_slot);
|
||||
fe->i_uid = cpu_to_le32(current->fsuid);
|
||||
fe->i_uid = cpu_to_le32(current_fsuid());
|
||||
if (dir->i_mode & S_ISGID) {
|
||||
fe->i_gid = cpu_to_le32(dir->i_gid);
|
||||
if (S_ISDIR(mode))
|
||||
mode |= S_ISGID;
|
||||
} else
|
||||
fe->i_gid = cpu_to_le32(current->fsgid);
|
||||
fe->i_gid = cpu_to_le32(current_fsgid());
|
||||
fe->i_mode = cpu_to_le16(mode);
|
||||
if (S_ISCHR(mode) || S_ISBLK(mode))
|
||||
fe->id1.dev1.i_rdev = cpu_to_le64(huge_encode_dev(dev));
|
||||
|
|
Загрузка…
Ссылка в новой задаче