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> > --- > 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)) >