xfs: never try to scrub more than 64 inodes per inobt record

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@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
This commit is contained in:
Darrick J. Wong 2019-02-01 09:08:49 -08:00
parent d13937116f
commit 435dcf0787

View File

@ -203,7 +203,8 @@ xchk_iallocbt_check_freemask(
int error = 0; int error = 0;
/* Make sure the freemask matches the inode records. */ /* 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; for (agino = irec->ir_startino;
agino < irec->ir_startino + XFS_INODES_PER_CHUNK; agino < irec->ir_startino + XFS_INODES_PER_CHUNK;