Hi Darrick, On Fri, 8 Jul 2022 08:17:51 -0700 "Darrick J. Wong" <djwong@xxxxxxxxxx> 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, ¬ify); > 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
Attachment:
pgpqn1gGluG5F.pgp
Description: OpenPGP digital signature