|
@@ -293,14 +293,7 @@ xfs_allocbt_verify(
|
|
|
level = be16_to_cpu(block->bb_level);
|
|
|
switch (block->bb_magic) {
|
|
|
case cpu_to_be32(XFS_ABTB_CRC_MAGIC):
|
|
|
- if (!xfs_sb_version_hascrc(&mp->m_sb))
|
|
|
- return false;
|
|
|
- if (!uuid_equal(&block->bb_u.s.bb_uuid, &mp->m_sb.sb_meta_uuid))
|
|
|
- return false;
|
|
|
- if (block->bb_u.s.bb_blkno != cpu_to_be64(bp->b_bn))
|
|
|
- return false;
|
|
|
- if (pag &&
|
|
|
- be32_to_cpu(block->bb_u.s.bb_owner) != pag->pag_agno)
|
|
|
+ if (!xfs_btree_sblock_v5hdr_verify(bp))
|
|
|
return false;
|
|
|
/* fall through */
|
|
|
case cpu_to_be32(XFS_ABTB_MAGIC):
|
|
@@ -311,14 +304,7 @@ xfs_allocbt_verify(
|
|
|
return false;
|
|
|
break;
|
|
|
case cpu_to_be32(XFS_ABTC_CRC_MAGIC):
|
|
|
- if (!xfs_sb_version_hascrc(&mp->m_sb))
|
|
|
- return false;
|
|
|
- if (!uuid_equal(&block->bb_u.s.bb_uuid, &mp->m_sb.sb_meta_uuid))
|
|
|
- return false;
|
|
|
- if (block->bb_u.s.bb_blkno != cpu_to_be64(bp->b_bn))
|
|
|
- return false;
|
|
|
- if (pag &&
|
|
|
- be32_to_cpu(block->bb_u.s.bb_owner) != pag->pag_agno)
|
|
|
+ if (!xfs_btree_sblock_v5hdr_verify(bp))
|
|
|
return false;
|
|
|
/* fall through */
|
|
|
case cpu_to_be32(XFS_ABTC_MAGIC):
|
|
@@ -332,21 +318,7 @@ xfs_allocbt_verify(
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- /* numrecs verification */
|
|
|
- if (be16_to_cpu(block->bb_numrecs) > mp->m_alloc_mxr[level != 0])
|
|
|
- return false;
|
|
|
-
|
|
|
- /* sibling pointer verification */
|
|
|
- if (!block->bb_u.s.bb_leftsib ||
|
|
|
- (be32_to_cpu(block->bb_u.s.bb_leftsib) >= mp->m_sb.sb_agblocks &&
|
|
|
- block->bb_u.s.bb_leftsib != cpu_to_be32(NULLAGBLOCK)))
|
|
|
- return false;
|
|
|
- if (!block->bb_u.s.bb_rightsib ||
|
|
|
- (be32_to_cpu(block->bb_u.s.bb_rightsib) >= mp->m_sb.sb_agblocks &&
|
|
|
- block->bb_u.s.bb_rightsib != cpu_to_be32(NULLAGBLOCK)))
|
|
|
- return false;
|
|
|
-
|
|
|
- return true;
|
|
|
+ return xfs_btree_sblock_verify(bp, mp->m_alloc_mxr[level != 0]);
|
|
|
}
|
|
|
|
|
|
static void
|