diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_rmap_btree.c')
| -rw-r--r-- | fs/xfs/libxfs/xfs_rmap_btree.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/fs/xfs/libxfs/xfs_rmap_btree.c b/fs/xfs/libxfs/xfs_rmap_btree.c index 221a88ea60bb..f79cf040d745 100644 --- a/fs/xfs/libxfs/xfs_rmap_btree.c +++ b/fs/xfs/libxfs/xfs_rmap_btree.c @@ -554,6 +554,7 @@ xfs_rmapbt_max_size(  int  xfs_rmapbt_calc_reserves(  	struct xfs_mount	*mp, +	struct xfs_trans	*tp,  	xfs_agnumber_t		agno,  	xfs_extlen_t		*ask,  	xfs_extlen_t		*used) @@ -567,14 +568,14 @@ xfs_rmapbt_calc_reserves(  	if (!xfs_sb_version_hasrmapbt(&mp->m_sb))  		return 0; -	error = xfs_alloc_read_agf(mp, NULL, agno, 0, &agbp); +	error = xfs_alloc_read_agf(mp, tp, agno, 0, &agbp);  	if (error)  		return error;  	agf = XFS_BUF_TO_AGF(agbp);  	agblocks = be32_to_cpu(agf->agf_length);  	tree_len = be32_to_cpu(agf->agf_rmap_blocks); -	xfs_buf_relse(agbp); +	xfs_trans_brelse(tp, agbp);  	/* Reserve 1% of the AG or enough for 1 block per record. */  	*ask += max(agblocks / 100, xfs_rmapbt_max_size(mp, agblocks)); |