On Tue, Dec 17, 2019 at 02:01:26PM -0600, Eric Sandeen wrote: > On 12/17/19 12:42 PM, Brian Foster wrote: > > The xfs_log_item flags were converted to atomic bitops as of commit > > 22525c17ed ("xfs: log item flags are racy"). The assert check for > > AIL presence in xfs_buf_item_relse() still uses the old value based > > check. This likely went unnoticed as XFS_LI_IN_AIL evaluates to 0 > > and causes the assert to unconditionally pass. Fix up the check. > > > > Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> > > Whoops. > > Fixes: 22525c17ed ("xfs: log item flags are racy") > Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> > Looks ok to me, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > > --- > > fs/xfs/xfs_buf_item.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c > > index 3458a1264a3f..3984779e5911 100644 > > --- a/fs/xfs/xfs_buf_item.c > > +++ b/fs/xfs/xfs_buf_item.c > > @@ -956,7 +956,7 @@ xfs_buf_item_relse( > > struct xfs_buf_log_item *bip = bp->b_log_item; > > > > trace_xfs_buf_item_relse(bp, _RET_IP_); > > - ASSERT(!(bip->bli_item.li_flags & XFS_LI_IN_AIL)); > > + ASSERT(!test_bit(XFS_LI_IN_AIL, &bip->bli_item.li_flags)); > > > > bp->b_log_item = NULL; > > if (list_empty(&bp->b_li_list)) > >