diff options
Diffstat (limited to 'fs/udf/inode.c')
| -rw-r--r-- | fs/udf/inode.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/udf/inode.c b/fs/udf/inode.c index aa233469b3c..287ef9f587b 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -1312,14 +1312,14 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)  	}  	read_lock(&sbi->s_cred_lock); -	inode->i_uid = le32_to_cpu(fe->uid); -	if (inode->i_uid == -1 || +	i_uid_write(inode, le32_to_cpu(fe->uid)); +	if (!uid_valid(inode->i_uid) ||  	    UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_UID_IGNORE) ||  	    UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_UID_SET))  		inode->i_uid = UDF_SB(inode->i_sb)->s_uid; -	inode->i_gid = le32_to_cpu(fe->gid); -	if (inode->i_gid == -1 || +	i_gid_write(inode, le32_to_cpu(fe->gid)); +	if (!gid_valid(inode->i_gid) ||  	    UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_GID_IGNORE) ||  	    UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_GID_SET))  		inode->i_gid = UDF_SB(inode->i_sb)->s_gid; @@ -1542,12 +1542,12 @@ static int udf_update_inode(struct inode *inode, int do_sync)  	if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_UID_FORGET))  		fe->uid = cpu_to_le32(-1);  	else -		fe->uid = cpu_to_le32(inode->i_uid); +		fe->uid = cpu_to_le32(i_uid_read(inode));  	if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_GID_FORGET))  		fe->gid = cpu_to_le32(-1);  	else -		fe->gid = cpu_to_le32(inode->i_gid); +		fe->gid = cpu_to_le32(i_gid_read(inode));  	udfperms = ((inode->i_mode & S_IRWXO)) |  		   ((inode->i_mode & S_IRWXG) << 2) |  |