diff options
Diffstat (limited to 'fs/xfs/xfs_reflink.c')
| -rw-r--r-- | fs/xfs/xfs_reflink.c | 18 | 
1 files changed, 6 insertions, 12 deletions
diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 59f7fc16eb80..cc3b4df88110 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -235,7 +235,7 @@ xfs_reflink_trim_around_shared(  	int			error = 0;  	/* Holes, unwritten, and delalloc extents cannot be shared */ -	if (!xfs_is_cow_inode(ip) || !xfs_bmap_is_written_extent(irec)) { +	if (!xfs_is_reflink_inode(ip) || !xfs_bmap_is_written_extent(irec)) {  		*shared = false;  		return 0;  	} @@ -651,7 +651,7 @@ xfs_reflink_cancel_cow_blocks(  		if (isnullstartblock(del.br_startblock)) {  			xfs_bmap_del_extent_delay(ip, XFS_COW_FORK, &icur, &got, -					&del); +					&del, 0);  		} else if (del.br_state == XFS_EXT_UNWRITTEN || cancel_real) {  			ASSERT((*tpp)->t_highest_agno == NULLAGNUMBER); @@ -1207,15 +1207,9 @@ xfs_reflink_ag_has_free_space(  	if (!xfs_has_rmapbt(mp))  		return 0;  	if (XFS_IS_REALTIME_INODE(ip)) { -		struct xfs_rtgroup	*rtg; -		xfs_rgnumber_t		rgno; - -		rgno = xfs_rtb_to_rgno(mp, fsb); -		rtg = xfs_rtgroup_get(mp, rgno); -		if (xfs_metafile_resv_critical(rtg_rmap(rtg))) -			error = -ENOSPC; -		xfs_rtgroup_put(rtg); -		return error; +		if (xfs_metafile_resv_critical(mp)) +			return -ENOSPC; +		return 0;  	}  	agno = XFS_FSB_TO_AGNO(mp, fsb); @@ -1538,7 +1532,7 @@ xfs_reflink_zero_posteof(  		return 0;  	trace_xfs_zero_eof(ip, isize, pos - isize); -	return xfs_zero_range(ip, isize, pos - isize, NULL); +	return xfs_zero_range(ip, isize, pos - isize, NULL, NULL);  }  /*  | 
