xfs: fix inverted clearance of inode junk flags

sashiko.dev noticed that these checks clear all the valid flags instead
of invalid. This probably was never hit as it only executed on invalid
flag presence.

Fixes: 2d295fe657 ("xfs: repair inode records")
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
Andrey Albershteyn 2026-07-22 11:17:59 +02:00 committed by Carlos Maiolino
parent b2d5a81dae
commit fb082235c6

View File

@ -1797,7 +1797,7 @@ xrep_inode_flags(
/* Clear junk flags */
if (sc->ip->i_diflags & ~XFS_DIFLAG_ANY)
sc->ip->i_diflags &= ~XFS_DIFLAG_ANY;
sc->ip->i_diflags &= XFS_DIFLAG_ANY;
/* NEWRTBM only applies to realtime bitmaps */
if (I_INO(sc->ip) == sc->mp->m_sb.sb_rbmino)
@ -1828,7 +1828,7 @@ xrep_inode_flags(
/* Clear junk flags. */
if (sc->ip->i_diflags2 & ~XFS_DIFLAG2_ANY)
sc->ip->i_diflags2 &= ~XFS_DIFLAG2_ANY;
sc->ip->i_diflags2 &= XFS_DIFLAG2_ANY;
/* No reflink flag unless we support it and it's a file. */
if (!xfs_has_reflink(sc->mp) || !S_ISREG(mode))