diff options
Diffstat (limited to 'fs/xfs/xfs_reflink.c')
| -rw-r--r-- | fs/xfs/xfs_reflink.c | 22 | 
1 files changed, 10 insertions, 12 deletions
diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 725c7d8e4438..4dd4af6ac2ef 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -874,7 +874,7 @@ xfs_reflink_set_inode_flag(  	if (!xfs_is_reflink_inode(src)) {  		trace_xfs_reflink_set_inode_flag(src);  		xfs_trans_ijoin(tp, src, XFS_ILOCK_EXCL); -		src->i_d.di_flags2 |= XFS_DIFLAG2_REFLINK; +		src->i_diflags2 |= XFS_DIFLAG2_REFLINK;  		xfs_trans_log_inode(tp, src, XFS_ILOG_CORE);  		xfs_ifork_init_cow(src);  	} else @@ -886,7 +886,7 @@ xfs_reflink_set_inode_flag(  	if (!xfs_is_reflink_inode(dest)) {  		trace_xfs_reflink_set_inode_flag(dest);  		xfs_trans_ijoin(tp, dest, XFS_ILOCK_EXCL); -		dest->i_d.di_flags2 |= XFS_DIFLAG2_REFLINK; +		dest->i_diflags2 |= XFS_DIFLAG2_REFLINK;  		xfs_trans_log_inode(tp, dest, XFS_ILOG_CORE);  		xfs_ifork_init_cow(dest);  	} else @@ -930,12 +930,12 @@ xfs_reflink_update_dest(  	if (newlen > i_size_read(VFS_I(dest))) {  		trace_xfs_reflink_update_inode_size(dest, newlen);  		i_size_write(VFS_I(dest), newlen); -		dest->i_d.di_size = newlen; +		dest->i_disk_size = newlen;  	}  	if (cowextsize) { -		dest->i_d.di_cowextsize = cowextsize; -		dest->i_d.di_flags2 |= XFS_DIFLAG2_COWEXTSIZE; +		dest->i_cowextsize = cowextsize; +		dest->i_diflags2 |= XFS_DIFLAG2_COWEXTSIZE;  	}  	xfs_trans_log_inode(tp, dest, XFS_ILOG_CORE); @@ -1156,7 +1156,7 @@ xfs_reflink_remap_extent(  	if (newlen > i_size_read(VFS_I(ip))) {  		trace_xfs_reflink_update_inode_size(ip, newlen);  		i_size_write(VFS_I(ip), newlen); -		ip->i_d.di_size = newlen; +		ip->i_disk_size = newlen;  		xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);  	} @@ -1392,11 +1392,9 @@ xfs_reflink_inode_has_shared_extents(  	int				error;  	ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK); -	if (!(ifp->if_flags & XFS_IFEXTENTS)) { -		error = xfs_iread_extents(tp, ip, XFS_DATA_FORK); -		if (error) -			return error; -	} +	error = xfs_iread_extents(tp, ip, XFS_DATA_FORK); +	if (error) +		return error;  	*has_shared = false;  	found = xfs_iext_lookup_extent(ip, ifp, 0, &icur, &got); @@ -1455,7 +1453,7 @@ xfs_reflink_clear_inode_flag(  	/* Clear the inode flag. */  	trace_xfs_reflink_unset_inode_flag(ip); -	ip->i_d.di_flags2 &= ~XFS_DIFLAG2_REFLINK; +	ip->i_diflags2 &= ~XFS_DIFLAG2_REFLINK;  	xfs_inode_clear_cowblocks_tag(ip);  	xfs_trans_log_inode(*tpp, ip, XFS_ILOG_CORE);  |