Subject: Re: linux-next: build failure after merge of the mm tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 11 Jul 2022 08:28:07 +1000

Hi Darrick,

On Fri, 8 Jul 2022 08:17:51 -0700 "Darrick J. Wong" <[email-masked]> wrote:
>
> This isn't quite correct -- references to xfs_perag objects must be
> released once they are acquired.  The following patch against today's
> tree fixes this problem:
> 
> diff --git a/fs/xfs/xfs_notify_failure.c b/fs/xfs/xfs_notify_failure.c
> index f3c62c19475e..69d9c83ea4b2 100644
> --- a/fs/xfs/xfs_notify_failure.c
> +++ b/fs/xfs/xfs_notify_failure.c
> @@ -127,10 +127,12 @@ xfs_dax_notify_ddev_failure(
>  
>  		pag = xfs_perag_get(mp, agno);
>  		error = xfs_alloc_read_agf(pag, tp, 0, &agf_bp);
> -		if (error)
> +		if (error) {
> +			xfs_perag_put(pag);
>  			break;
> +		}
>  
> -		cur = xfs_rmapbt_init_cursor(mp, tp, agf_bp, agf_bp->b_pag);
> +		cur = xfs_rmapbt_init_cursor(mp, tp, agf_bp, pag);
>  
>  		/*
>  		 * Set the rmap range from ri_low to ri_high, which represents
> @@ -151,6 +153,7 @@ xfs_dax_notify_ddev_failure(
>  				xfs_dax_failure_fn, &notify);
>  		xfs_btree_del_cursor(cur, error);
>  		xfs_trans_brelse(tp, agf_bp);
> +		xfs_perag_put(pag);
>  		if (error)
>  			break;
>  

Thanks, I will add that to the resolution from today.

-- 
Cheers,
Stephen Rothwell