xfs: move various type verifiers to common file
New verification functions like xfs_verify_fsbno() and xfs_verify_agino() are spread across multiple files and different header files. They really don't fit cleanly into the places they've been put, and have wider scope than the current header includes. Move the type verifiers to a new file in libxfs (xfs-types.c) and the prototypes to xfs_types.h where they will be visible to all the code that uses the types. Signed-Off-By: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:

committed by
Darrick J. Wong

parent
4a2d01b076
commit
86210fbeba
@@ -3123,55 +3123,6 @@ xfs_alloc_query_all(
|
||||
return xfs_btree_query_all(cur, xfs_alloc_query_range_helper, &query);
|
||||
}
|
||||
|
||||
/* Find the size of the AG, in blocks. */
|
||||
xfs_agblock_t
|
||||
xfs_ag_block_count(
|
||||
struct xfs_mount *mp,
|
||||
xfs_agnumber_t agno)
|
||||
{
|
||||
ASSERT(agno < mp->m_sb.sb_agcount);
|
||||
|
||||
if (agno < mp->m_sb.sb_agcount - 1)
|
||||
return mp->m_sb.sb_agblocks;
|
||||
return mp->m_sb.sb_dblocks - (agno * mp->m_sb.sb_agblocks);
|
||||
}
|
||||
|
||||
/*
|
||||
* Verify that an AG block number pointer neither points outside the AG
|
||||
* nor points at static metadata.
|
||||
*/
|
||||
bool
|
||||
xfs_verify_agbno(
|
||||
struct xfs_mount *mp,
|
||||
xfs_agnumber_t agno,
|
||||
xfs_agblock_t agbno)
|
||||
{
|
||||
xfs_agblock_t eoag;
|
||||
|
||||
eoag = xfs_ag_block_count(mp, agno);
|
||||
if (agbno >= eoag)
|
||||
return false;
|
||||
if (agbno <= XFS_AGFL_BLOCK(mp))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Verify that an FS block number pointer neither points outside the
|
||||
* filesystem nor points at static AG metadata.
|
||||
*/
|
||||
bool
|
||||
xfs_verify_fsbno(
|
||||
struct xfs_mount *mp,
|
||||
xfs_fsblock_t fsbno)
|
||||
{
|
||||
xfs_agnumber_t agno = XFS_FSB_TO_AGNO(mp, fsbno);
|
||||
|
||||
if (agno >= mp->m_sb.sb_agcount)
|
||||
return false;
|
||||
return xfs_verify_agbno(mp, agno, XFS_FSB_TO_AGBNO(mp, fsbno));
|
||||
}
|
||||
|
||||
/* Is there a record covering a given extent? */
|
||||
int
|
||||
xfs_alloc_has_record(
|
||||
|
Reference in New Issue
Block a user