diff options
Diffstat (limited to 'fs/xfs/xfs_fsops.c')
| -rw-r--r-- | fs/xfs/xfs_fsops.c | 29 | 
1 files changed, 8 insertions, 21 deletions
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index 83f708f62ed9..c211ea2b63c4 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -213,10 +213,8 @@ xfs_growfs_data_private(  			struct xfs_perag	*pag;  			pag = xfs_perag_get(mp, id.agno); -			error = xfs_ag_resv_free(pag); +			xfs_ag_resv_free(pag);  			xfs_perag_put(pag); -			if (error) -				return error;  		}  		/*  		 * Reserve AG metadata blocks. ENOSPC here does not mean there @@ -385,14 +383,14 @@ xfs_reserve_blocks(  	 */  	if (mp->m_resblks > request) {  		lcounter = mp->m_resblks_avail - request; -		if (lcounter  > 0) {		/* release unused blocks */ +		if (lcounter > 0) {		/* release unused blocks */  			fdblks_delta = lcounter;  			mp->m_resblks_avail -= lcounter;  		}  		mp->m_resblks = request;  		if (fdblks_delta) {  			spin_unlock(&mp->m_sb_lock); -			error = xfs_mod_fdblocks(mp, fdblks_delta, 0); +			xfs_add_fdblocks(mp, fdblks_delta);  			spin_lock(&mp->m_sb_lock);  		} @@ -428,9 +426,9 @@ xfs_reserve_blocks(  		 */  		fdblks_delta = min(free, delta);  		spin_unlock(&mp->m_sb_lock); -		error = xfs_mod_fdblocks(mp, -fdblks_delta, 0); +		error = xfs_dec_fdblocks(mp, fdblks_delta, 0);  		if (!error) -			xfs_mod_fdblocks(mp, fdblks_delta, 0); +			xfs_add_fdblocks(mp, fdblks_delta);  		spin_lock(&mp->m_sb_lock);  	}  out: @@ -556,24 +554,13 @@ xfs_fs_reserve_ag_blocks(  /*   * Free space reserved for per-AG metadata.   */ -int +void  xfs_fs_unreserve_ag_blocks(  	struct xfs_mount	*mp)  {  	xfs_agnumber_t		agno;  	struct xfs_perag	*pag; -	int			error = 0; -	int			err2; -	for_each_perag(mp, agno, pag) { -		err2 = xfs_ag_resv_free(pag); -		if (err2 && !error) -			error = err2; -	} - -	if (error) -		xfs_warn(mp, -	"Error %d freeing per-AG metadata reserve pool.", error); - -	return error; +	for_each_perag(mp, agno, pag) +		xfs_ag_resv_free(pag);  }  |