From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Make sure we never check more than XFS_INODES_PER_CHUNK inodes for any given inobt record since there can be more than one inobt record mapped to an inode cluster. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- fs/xfs/scrub/ialloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/xfs/scrub/ialloc.c b/fs/xfs/scrub/ialloc.c index 31ec0c16be4a..b06a0b4de070 100644 --- a/fs/xfs/scrub/ialloc.c +++ b/fs/xfs/scrub/ialloc.c @@ -203,7 +203,8 @@ xchk_iallocbt_check_freemask( int error = 0; /* Make sure the freemask matches the inode records. */ - nr_inodes = mp->m_inodes_per_cluster; + nr_inodes = min_t(unsigned int, XFS_INODES_PER_CHUNK, + mp->m_inodes_per_cluster); for (agino = irec->ir_startino; agino < irec->ir_startino + XFS_INODES_PER_CHUNK;