summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Foster <bfoster@redhat.com>2022-09-24 18:26:51 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-09-28 11:04:11 +0200
commit6363fdf7acac6884343f0e4cc3ffe0dc6beec7a7 (patch)
treeb1ba7a7fa3d3cd3138d0d8364f7d38b06d01f656
parenta95582d9d5007a8df0a8e2331654b7be0337ffc2 (diff)
downloadlinux-6363fdf7acac6884343f0e4cc3ffe0dc6beec7a7.tar.gz
linux-6363fdf7acac6884343f0e4cc3ffe0dc6beec7a7.tar.bz2
linux-6363fdf7acac6884343f0e4cc3ffe0dc6beec7a7.zip
xfs: use bitops interface for buf log item AIL flag check
commit 826f7e34130a4ce756138540170cbe935c537a47 upstream. 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@redhat.com> Fixes: 22525c17ed ("xfs: log item flags are racy") Reviewed-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Acked-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Chandan Babu R <chandan.babu@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/xfs/xfs_buf_item.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c
index d74fbd1e9d3e..b1452117e442 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))