xfs
[Top] [All Lists]

Re: [PATCH] xfs: handle AGs without reservation in xfs_refcountbt_free_r

To: Christoph Hellwig <hch@xxxxxx>
Subject: Re: [PATCH] xfs: handle AGs without reservation in xfs_refcountbt_free_reserve_pool
From: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>
Date: Tue, 9 Feb 2016 17:38:49 -0800
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1455035539-24535-2-git-send-email-hch@xxxxxx>
References: <1455035539-24535-1-git-send-email-hch@xxxxxx> <1455035539-24535-2-git-send-email-hch@xxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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@xxxxxx>
> ---
>  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
> 

<Prev in Thread] Current Thread [Next in Thread>