[PATCH] xfs: handle AGs without reservation in xfs_refcountbt_free_reserve_pool

Darrick J. Wong darrick.wong at oracle.com
Tue Feb 9 19:38:49 CST 2016


On Tue, Feb 09, 2016 at 05:32:19PM +0100, Christoph Hellwig wrote:
> See http://www.infradead.org/rpr.html
> 
> Without this xfstests starts crashing and burning in generic/003.

Good catch, thanks.  Will apply.

--D

> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> ---
>  fs/xfs/libxfs/xfs_refcount_btree.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/fs/xfs/libxfs/xfs_refcount_btree.c b/fs/xfs/libxfs/xfs_refcount_btree.c
> index 31e1b2d..f78041c 100644
> --- a/fs/xfs/libxfs/xfs_refcount_btree.c
> +++ b/fs/xfs/libxfs/xfs_refcount_btree.c
> @@ -539,6 +539,10 @@ xfs_refcountbt_free_reserve_pool(
>  	pool_len = 0;
>  	for (agno = 0; agno < mp->m_sb.sb_agcount; agno++) {
>  		pag = xfs_perag_get(mp, agno);
> +		if (!pag->pagf_refcountbt_resv) {
> +			xfs_perag_put(pag);
> +			continue;
> +		}
>  		i = xfs_ag_resv_blocks(pag->pagf_refcountbt_resv);
>  		if (pool_len < i)
>  			pool_len = i;
> -- 
> 2.1.4
> 



More information about the xfs mailing list