diff options
Diffstat (limited to 'fs/ocfs2/refcounttree.c')
| -rw-r--r-- | fs/ocfs2/refcounttree.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c index 30a055049e1..998b17eda09 100644 --- a/fs/ocfs2/refcounttree.c +++ b/fs/ocfs2/refcounttree.c @@ -2927,7 +2927,7 @@ int ocfs2_duplicate_clusters_by_page(handle_t *handle,  				     u32 new_cluster, u32 new_len)  {  	int ret = 0, partial; -	struct inode *inode = file->f_path.dentry->d_inode; +	struct inode *inode = file_inode(file);  	struct ocfs2_caching_info *ci = INODE_CACHE(inode);  	struct super_block *sb = ocfs2_metadata_cache_get_super(ci);  	u64 new_block = ocfs2_clusters_to_blocks(sb, new_cluster); @@ -3020,7 +3020,7 @@ int ocfs2_duplicate_clusters_by_jbd(handle_t *handle,  				    u32 new_cluster, u32 new_len)  {  	int ret = 0; -	struct inode *inode = file->f_path.dentry->d_inode; +	struct inode *inode = file_inode(file);  	struct super_block *sb = inode->i_sb;  	struct ocfs2_caching_info *ci = INODE_CACHE(inode);  	int i, blocks = ocfs2_clusters_to_blocks(sb, new_len); @@ -4407,7 +4407,7 @@ static int ocfs2_vfs_reflink(struct dentry *old_dentry, struct inode *dir,  	 * rights to do so.  	 */  	if (preserve) { -		if ((current_fsuid() != inode->i_uid) && !capable(CAP_CHOWN)) +		if (!uid_eq(current_fsuid(), inode->i_uid) && !capable(CAP_CHOWN))  			return -EPERM;  		if (!in_group_p(inode->i_gid) && !capable(CAP_CHOWN))  			return -EPERM;  |