xfs: strengthen rmap record flags checking
[ Upstream commit5.4-rM2-2.2.x-imx-squashed498fe261f0
] We always know the correct state of the rmap record flags (attr, bmbt, unwritten) so check them by direct comparison. Fixes:d852657ccf
("xfs: cross-reference reverse-mapping btree") Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
parent
388ca4a37d
commit
738ec76706
|
@ -218,13 +218,13 @@ xchk_bmap_xref_rmap(
|
|||
* which doesn't track unwritten state.
|
||||
*/
|
||||
if (owner != XFS_RMAP_OWN_COW &&
|
||||
irec->br_state == XFS_EXT_UNWRITTEN &&
|
||||
!(rmap.rm_flags & XFS_RMAP_UNWRITTEN))
|
||||
!!(irec->br_state == XFS_EXT_UNWRITTEN) !=
|
||||
!!(rmap.rm_flags & XFS_RMAP_UNWRITTEN))
|
||||
xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
|
||||
irec->br_startoff);
|
||||
|
||||
if (info->whichfork == XFS_ATTR_FORK &&
|
||||
!(rmap.rm_flags & XFS_RMAP_ATTR_FORK))
|
||||
if (!!(info->whichfork == XFS_ATTR_FORK) !=
|
||||
!!(rmap.rm_flags & XFS_RMAP_ATTR_FORK))
|
||||
xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
|
||||
irec->br_startoff);
|
||||
if (rmap.rm_flags & XFS_RMAP_BMBT_BLOCK)
|
||||
|
|
Loading…
Reference in New Issue