xfs_repair: stop using XFS_BTREE_MAXLEVELS
Use the precomputed per-btree-type max height values.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
diff --git a/repair/scan.c b/repair/scan.c
index f37a98e..698befd 100644
--- a/repair/scan.c
+++ b/repair/scan.c
@@ -2289,7 +2289,7 @@
unsigned int levels;
levels = be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]);
- if (levels == 0 || levels > XFS_BTREE_MAXLEVELS) {
+ if (levels == 0 || levels > mp->m_ag_maxlevels) {
do_warn(_("bad levels %u for btbno root, agno %d\n"),
levels, agno);
}
@@ -2307,7 +2307,7 @@
}
levels = be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]);
- if (levels == 0 || levels > XFS_BTREE_MAXLEVELS) {
+ if (levels == 0 || levels > mp->m_ag_maxlevels) {
do_warn(_("bad levels %u for btbcnt root, agno %d\n"),
levels, agno);
}
@@ -2334,7 +2334,7 @@
priv.nr_blocks = 0;
levels = be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]);
- if (levels == 0 || levels > XFS_BTREE_MAXLEVELS) {
+ if (levels == 0 || levels > mp->m_rmap_maxlevels) {
do_warn(_("bad levels %u for rmapbt root, agno %d\n"),
levels, agno);
rmap_avoid_check();
@@ -2358,7 +2358,7 @@
if (xfs_has_reflink(mp)) {
levels = be32_to_cpu(agf->agf_refcount_level);
- if (levels == 0 || levels > XFS_BTREE_MAXLEVELS) {
+ if (levels == 0 || levels > mp->m_refc_maxlevels) {
do_warn(_("bad levels %u for refcountbt root, agno %d\n"),
levels, agno);
refcount_avoid_check();
@@ -2416,7 +2416,7 @@
unsigned int levels;
levels = be32_to_cpu(agi->agi_level);
- if (levels == 0 || levels > XFS_BTREE_MAXLEVELS) {
+ if (levels == 0 || levels > M_IGEO(mp)->inobt_maxlevels) {
do_warn(_("bad levels %u for inobt root, agno %d\n"),
levels, agno);
}
@@ -2435,7 +2435,7 @@
if (xfs_has_finobt(mp)) {
levels = be32_to_cpu(agi->agi_free_level);
- if (levels == 0 || levels > XFS_BTREE_MAXLEVELS) {
+ if (levels == 0 || levels > M_IGEO(mp)->inobt_maxlevels) {
do_warn(_("bad levels %u for finobt root, agno %d\n"),
levels, agno);
}