agf->agf_versionnum = cpu_to_be32(XFS_AGF_VERSION);
        agf->agf_seqno = cpu_to_be32(id->agno);
        agf->agf_length = cpu_to_be32(id->agsize);
-       agf->agf_roots[XFS_BTNUM_BNOi] = cpu_to_be32(XFS_BNO_BLOCK(mp));
-       agf->agf_roots[XFS_BTNUM_CNTi] = cpu_to_be32(XFS_CNT_BLOCK(mp));
-       agf->agf_levels[XFS_BTNUM_BNOi] = cpu_to_be32(1);
-       agf->agf_levels[XFS_BTNUM_CNTi] = cpu_to_be32(1);
+       agf->agf_bno_root = cpu_to_be32(XFS_BNO_BLOCK(mp));
+       agf->agf_cnt_root = cpu_to_be32(XFS_CNT_BLOCK(mp));
+       agf->agf_bno_level = cpu_to_be32(1);
+       agf->agf_cnt_level = cpu_to_be32(1);
        if (xfs_has_rmapbt(mp)) {
-               agf->agf_roots[XFS_BTNUM_RMAPi] =
-                                       cpu_to_be32(XFS_RMAP_BLOCK(mp));
-               agf->agf_levels[XFS_BTNUM_RMAPi] = cpu_to_be32(1);
+               agf->agf_rmap_root = cpu_to_be32(XFS_RMAP_BLOCK(mp));
+               agf->agf_rmap_level = cpu_to_be32(1);
                agf->agf_rmap_blocks = cpu_to_be32(1);
        }
 
 
        atomic_t        pag_active_ref; /* active reference count */
        wait_queue_head_t pag_active_wq;/* woken active_ref falls to zero */
        unsigned long   pag_opstate;
-       uint8_t         pagf_levels[XFS_BTNUM_AGF];
-                                       /* # of levels in bno & cnt btree */
+       uint8_t         pagf_bno_level; /* # of levels in bno btree */
+       uint8_t         pagf_cnt_level; /* # of levels in cnt btree */
+       uint8_t         pagf_rmap_level;/* # of levels in rmap btree */
        uint32_t        pagf_flcount;   /* count of blocks in freelist */
        xfs_extlen_t    pagf_freeblks;  /* total free blocks */
        xfs_extlen_t    pagf_longest;   /* longest free space */
         * Alternate btree heights so that online repair won't trip the write
         * verifiers while rebuilding the AG btrees.
         */
-       uint8_t         pagf_repair_levels[XFS_BTNUM_AGF];
+       uint8_t         pagf_repair_bno_level;
+       uint8_t         pagf_repair_cnt_level;
        uint8_t         pagf_repair_refcount_level;
 #endif
 
 
        struct xfs_perag        *pag)
 {
        /* AG btrees have at least 1 level. */
-       static const uint8_t    fake_levels[XFS_BTNUM_AGF] = {1, 1, 1};
-       const uint8_t           *levels = pag ? pag->pagf_levels : fake_levels;
+       const unsigned int      bno_level = pag ? pag->pagf_bno_level : 1;
+       const unsigned int      cnt_level = pag ? pag->pagf_cnt_level : 1;
+       const unsigned int      rmap_level = pag ? pag->pagf_rmap_level : 1;
        unsigned int            min_free;
 
        ASSERT(mp->m_alloc_maxlevels > 0);
         */
 
        /* space needed by-bno freespace btree */
-       min_free = min_t(unsigned int, levels[XFS_BTNUM_BNOi] + 1,
-                                      mp->m_alloc_maxlevels) * 2 - 2;
+       min_free = min(bno_level + 1, mp->m_alloc_maxlevels) * 2 - 2;
        /* space needed by-size freespace btree */
-       min_free += min_t(unsigned int, levels[XFS_BTNUM_CNTi] + 1,
-                                      mp->m_alloc_maxlevels) * 2 - 2;
+       min_free += min(cnt_level + 1, mp->m_alloc_maxlevels) * 2 - 2;
        /* space needed reverse mapping used space btree */
        if (xfs_has_rmapbt(mp))
-               min_free += min_t(unsigned int, levels[XFS_BTNUM_RMAPi] + 1,
-                                               mp->m_rmap_maxlevels) * 2 - 2;
-
+               min_free += min(rmap_level + 1, mp->m_rmap_maxlevels) * 2 - 2;
        return min_free;
 }
 
                offsetof(xfs_agf_t, agf_versionnum),
                offsetof(xfs_agf_t, agf_seqno),
                offsetof(xfs_agf_t, agf_length),
-               offsetof(xfs_agf_t, agf_roots[0]),
-               offsetof(xfs_agf_t, agf_levels[0]),
+               offsetof(xfs_agf_t, agf_bno_root),   /* also cnt/rmap root */
+               offsetof(xfs_agf_t, agf_bno_level),  /* also cnt/rmap levels */
                offsetof(xfs_agf_t, agf_flfirst),
                offsetof(xfs_agf_t, agf_fllast),
                offsetof(xfs_agf_t, agf_flcount),
            be32_to_cpu(agf->agf_freeblks) > agf_length)
                return __this_address;
 
-       if (be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]) < 1 ||
-           be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]) < 1 ||
-           be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]) >
-                                               mp->m_alloc_maxlevels ||
-           be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]) >
-                                               mp->m_alloc_maxlevels)
+       if (be32_to_cpu(agf->agf_bno_level) < 1 ||
+           be32_to_cpu(agf->agf_cnt_level) < 1 ||
+           be32_to_cpu(agf->agf_bno_level) > mp->m_alloc_maxlevels ||
+           be32_to_cpu(agf->agf_cnt_level) > mp->m_alloc_maxlevels)
                return __this_address;
 
        if (xfs_has_lazysbcount(mp) &&
                if (be32_to_cpu(agf->agf_rmap_blocks) > agf_length)
                        return __this_address;
 
-               if (be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]) < 1 ||
-                   be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]) >
-                                                       mp->m_rmap_maxlevels)
+               if (be32_to_cpu(agf->agf_rmap_level) < 1 ||
+                   be32_to_cpu(agf->agf_rmap_level) > mp->m_rmap_maxlevels)
                        return __this_address;
        }
 
                pag->pagf_btreeblks = be32_to_cpu(agf->agf_btreeblks);
                pag->pagf_flcount = be32_to_cpu(agf->agf_flcount);
                pag->pagf_longest = be32_to_cpu(agf->agf_longest);
-               pag->pagf_levels[XFS_BTNUM_BNOi] =
-                       be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNOi]);
-               pag->pagf_levels[XFS_BTNUM_CNTi] =
-                       be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNTi]);
-               pag->pagf_levels[XFS_BTNUM_RMAPi] =
-                       be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAPi]);
+               pag->pagf_bno_level = be32_to_cpu(agf->agf_bno_level);
+               pag->pagf_cnt_level = be32_to_cpu(agf->agf_cnt_level);
+               pag->pagf_rmap_level = be32_to_cpu(agf->agf_rmap_level);
                pag->pagf_refcount_level = be32_to_cpu(agf->agf_refcount_level);
                if (xfs_agfl_needs_reset(pag->pag_mount, agf))
                        set_bit(XFS_AGSTATE_AGFL_NEEDS_RESET, &pag->pag_opstate);
                ASSERT(pag->pagf_btreeblks == be32_to_cpu(agf->agf_btreeblks));
                ASSERT(pag->pagf_flcount == be32_to_cpu(agf->agf_flcount));
                ASSERT(pag->pagf_longest == be32_to_cpu(agf->agf_longest));
-               ASSERT(pag->pagf_levels[XFS_BTNUM_BNOi] ==
-                      be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNOi]));
-               ASSERT(pag->pagf_levels[XFS_BTNUM_CNTi] ==
-                      be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNTi]));
+               ASSERT(pag->pagf_bno_level == be32_to_cpu(agf->agf_bno_level));
+               ASSERT(pag->pagf_cnt_level == be32_to_cpu(agf->agf_cnt_level));
        }
 #endif
        if (agfbpp)
 
 {
        struct xfs_buf          *agbp = cur->bc_ag.agbp;
        struct xfs_agf          *agf = agbp->b_addr;
-       int                     btnum = cur->bc_btnum;
 
        ASSERT(ptr->s != 0);
 
-       agf->agf_roots[btnum] = ptr->s;
-       be32_add_cpu(&agf->agf_levels[btnum], inc);
-       cur->bc_ag.pag->pagf_levels[btnum] += inc;
+       if (cur->bc_btnum == XFS_BTNUM_BNO) {
+               agf->agf_bno_root = ptr->s;
+               be32_add_cpu(&agf->agf_bno_level, inc);
+               cur->bc_ag.pag->pagf_bno_level += inc;
+       } else {
+               agf->agf_cnt_root = ptr->s;
+               be32_add_cpu(&agf->agf_cnt_level, inc);
+               cur->bc_ag.pag->pagf_cnt_level += inc;
+       }
 
        xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS);
 }
 
        ASSERT(cur->bc_ag.pag->pag_agno == be32_to_cpu(agf->agf_seqno));
 
-       ptr->s = agf->agf_roots[cur->bc_btnum];
+       if (cur->bc_btnum == XFS_BTNUM_BNO)
+               ptr->s = agf->agf_bno_root;
+       else
+               ptr->s = agf->agf_cnt_root;
 }
 
 STATIC int64_t
        struct xfs_perag        *pag = bp->b_pag;
        xfs_failaddr_t          fa;
        unsigned int            level;
-       xfs_btnum_t             btnum = XFS_BTNUM_BNOi;
 
        if (!xfs_verify_magic(bp, block->bb_magic))
                return __this_address;
         * against.
         */
        level = be16_to_cpu(block->bb_level);
-       if (bp->b_ops->magic[0] == cpu_to_be32(XFS_ABTC_MAGIC))
-               btnum = XFS_BTNUM_CNTi;
        if (pag && xfs_perag_initialised_agf(pag)) {
-               unsigned int    maxlevel = pag->pagf_levels[btnum];
+               unsigned int    maxlevel, repair_maxlevel = 0;
 
-#ifdef CONFIG_XFS_ONLINE_REPAIR
                /*
                 * Online repair could be rewriting the free space btrees, so
                 * we'll validate against the larger of either tree while this
                 * is going on.
                 */
-               maxlevel = max_t(unsigned int, maxlevel,
-                                pag->pagf_repair_levels[btnum]);
+               if (bp->b_ops->magic[0] == cpu_to_be32(XFS_ABTC_MAGIC)) {
+                       maxlevel = pag->pagf_cnt_level;
+#ifdef CONFIG_XFS_ONLINE_REPAIR
+                       repair_maxlevel = pag->pagf_repair_cnt_level;
 #endif
-               if (level >= maxlevel)
+               } else {
+                       maxlevel = pag->pagf_bno_level;
+#ifdef CONFIG_XFS_ONLINE_REPAIR
+                       repair_maxlevel = pag->pagf_repair_bno_level;
+#endif
+               }
+
+               if (level >= max(maxlevel, repair_maxlevel))
                        return __this_address;
        } else if (level >= mp->m_alloc_maxlevels)
                return __this_address;
                struct xfs_agf          *agf = agbp->b_addr;
 
                cur->bc_nlevels = (btnum == XFS_BTNUM_BNO) ?
-                       be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]) :
-                       be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]);
+                       be32_to_cpu(agf->agf_bno_level) :
+                       be32_to_cpu(agf->agf_cnt_level);
        }
        return cur;
 }
 
        ASSERT(cur->bc_flags & XFS_BTREE_STAGING);
 
-       agf->agf_roots[cur->bc_btnum] = cpu_to_be32(afake->af_root);
-       agf->agf_levels[cur->bc_btnum] = cpu_to_be32(afake->af_levels);
+       if (cur->bc_btnum == XFS_BTNUM_BNO) {
+               agf->agf_bno_root = cpu_to_be32(afake->af_root);
+               agf->agf_bno_level = cpu_to_be32(afake->af_levels);
+       } else {
+               agf->agf_cnt_root = cpu_to_be32(afake->af_root);
+               agf->agf_cnt_level = cpu_to_be32(afake->af_levels);
+       }
        xfs_alloc_log_agf(tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS);
 
        xfs_btree_commit_afakeroot(cur, tp, agbp);
 
 #define        XFS_AGI_GOOD_VERSION(v) ((v) == XFS_AGI_VERSION)
 
 /*
- * Btree number 0 is bno, 1 is cnt, 2 is rmap. This value gives the size of the
- * arrays below.
- */
-#define        XFS_BTNUM_AGF   ((int)XFS_BTNUM_RMAPi + 1)
-
-/*
- * The second word of agf_levels in the first a.g. overlaps the EFS
- * superblock's magic number.  Since the magic numbers valid for EFS
- * are > 64k, our value cannot be confused for an EFS superblock's.
+ * agf_cnt_level in the first AGF overlaps the EFS superblock's magic number.
+ * Since the magic numbers valid for EFS are > 64k, our value cannot be confused
+ * for an EFS superblock.
  */
 
 typedef struct xfs_agf {
        /*
         * Freespace and rmap information
         */
-       __be32          agf_roots[XFS_BTNUM_AGF];       /* root blocks */
-       __be32          agf_levels[XFS_BTNUM_AGF];      /* btree levels */
+       __be32          agf_bno_root;   /* bnobt root block */
+       __be32          agf_cnt_root;   /* cntbt root block */
+       __be32          agf_rmap_root;  /* rmapbt root block */
+
+       __be32          agf_bno_level;  /* bnobt btree levels */
+       __be32          agf_cnt_level;  /* cntbt btree levels */
+       __be32          agf_rmap_level; /* rmapbt btree levels */
 
        __be32          agf_flfirst;    /* first freelist block's index */
        __be32          agf_fllast;     /* last freelist block's index */
 
 {
        struct xfs_buf          *agbp = cur->bc_ag.agbp;
        struct xfs_agf          *agf = agbp->b_addr;
-       int                     btnum = cur->bc_btnum;
 
        ASSERT(ptr->s != 0);
 
-       agf->agf_roots[btnum] = ptr->s;
-       be32_add_cpu(&agf->agf_levels[btnum], inc);
-       cur->bc_ag.pag->pagf_levels[btnum] += inc;
+       agf->agf_rmap_root = ptr->s;
+       be32_add_cpu(&agf->agf_rmap_level, inc);
+       cur->bc_ag.pag->pagf_rmap_level += inc;
 
        xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS);
 }
 
        ASSERT(cur->bc_ag.pag->pag_agno == be32_to_cpu(agf->agf_seqno));
 
-       ptr->s = agf->agf_roots[cur->bc_btnum];
+       ptr->s = agf->agf_rmap_root;
 }
 
 /*
 
        level = be16_to_cpu(block->bb_level);
        if (pag && xfs_perag_initialised_agf(pag)) {
-               if (level >= pag->pagf_levels[XFS_BTNUM_RMAPi])
+               if (level >= pag->pagf_rmap_level)
                        return __this_address;
        } else if (level >= mp->m_rmap_maxlevels)
                return __this_address;
        if (agbp) {
                struct xfs_agf          *agf = agbp->b_addr;
 
-               cur->bc_nlevels = be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]);
+               cur->bc_nlevels = be32_to_cpu(agf->agf_rmap_level);
        }
        return cur;
 }
 
        ASSERT(cur->bc_flags & XFS_BTREE_STAGING);
 
-       agf->agf_roots[cur->bc_btnum] = cpu_to_be32(afake->af_root);
-       agf->agf_levels[cur->bc_btnum] = cpu_to_be32(afake->af_levels);
+       agf->agf_rmap_root = cpu_to_be32(afake->af_root);
+       agf->agf_rmap_level = cpu_to_be32(afake->af_levels);
        agf->agf_rmap_blocks = cpu_to_be32(afake->af_blocks);
        xfs_alloc_log_agf(tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS |
                                    XFS_AGF_RMAP_BLOCKS);
 
                xchk_block_set_corrupt(sc, sc->sa.agf_bp);
 
        /* Check the AGF btree roots and levels */
-       agbno = be32_to_cpu(agf->agf_roots[XFS_BTNUM_BNO]);
+       agbno = be32_to_cpu(agf->agf_bno_root);
        if (!xfs_verify_agbno(pag, agbno))
                xchk_block_set_corrupt(sc, sc->sa.agf_bp);
 
-       agbno = be32_to_cpu(agf->agf_roots[XFS_BTNUM_CNT]);
+       agbno = be32_to_cpu(agf->agf_cnt_root);
        if (!xfs_verify_agbno(pag, agbno))
                xchk_block_set_corrupt(sc, sc->sa.agf_bp);
 
-       level = be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]);
+       level = be32_to_cpu(agf->agf_bno_level);
        if (level <= 0 || level > mp->m_alloc_maxlevels)
                xchk_block_set_corrupt(sc, sc->sa.agf_bp);
 
-       level = be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]);
+       level = be32_to_cpu(agf->agf_cnt_level);
        if (level <= 0 || level > mp->m_alloc_maxlevels)
                xchk_block_set_corrupt(sc, sc->sa.agf_bp);
 
        if (xfs_has_rmapbt(mp)) {
-               agbno = be32_to_cpu(agf->agf_roots[XFS_BTNUM_RMAP]);
+               agbno = be32_to_cpu(agf->agf_rmap_root);
                if (!xfs_verify_agbno(pag, agbno))
                        xchk_block_set_corrupt(sc, sc->sa.agf_bp);
 
-               level = be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]);
+               level = be32_to_cpu(agf->agf_rmap_level);
                if (level <= 0 || level > mp->m_rmap_maxlevels)
                        xchk_block_set_corrupt(sc, sc->sa.agf_bp);
        }
 
         * We relied on the rmapbt to reconstruct the AGF.  If we get a
         * different root then something's seriously wrong.
         */
-       if (fab[XREP_AGF_RMAPBT].root !=
-           be32_to_cpu(old_agf->agf_roots[XFS_BTNUM_RMAPi]))
+       if (fab[XREP_AGF_RMAPBT].root != be32_to_cpu(old_agf->agf_rmap_root))
                return -EFSCORRUPTED;
 
        /* We must find the refcountbt root if that feature is enabled. */
        struct xfs_agf                  *agf,
        struct xrep_find_ag_btree       *fab)
 {
-       agf->agf_roots[XFS_BTNUM_BNOi] =
-                       cpu_to_be32(fab[XREP_AGF_BNOBT].root);
-       agf->agf_levels[XFS_BTNUM_BNOi] =
-                       cpu_to_be32(fab[XREP_AGF_BNOBT].height);
+       agf->agf_bno_root = cpu_to_be32(fab[XREP_AGF_BNOBT].root);
+       agf->agf_bno_level = cpu_to_be32(fab[XREP_AGF_BNOBT].height);
 
-       agf->agf_roots[XFS_BTNUM_CNTi] =
-                       cpu_to_be32(fab[XREP_AGF_CNTBT].root);
-       agf->agf_levels[XFS_BTNUM_CNTi] =
-                       cpu_to_be32(fab[XREP_AGF_CNTBT].height);
+       agf->agf_cnt_root = cpu_to_be32(fab[XREP_AGF_CNTBT].root);
+       agf->agf_cnt_level = cpu_to_be32(fab[XREP_AGF_CNTBT].height);
 
-       agf->agf_roots[XFS_BTNUM_RMAPi] =
-                       cpu_to_be32(fab[XREP_AGF_RMAPBT].root);
-       agf->agf_levels[XFS_BTNUM_RMAPi] =
-                       cpu_to_be32(fab[XREP_AGF_RMAPBT].height);
+       agf->agf_rmap_root = cpu_to_be32(fab[XREP_AGF_RMAPBT].root);
+       agf->agf_rmap_level = cpu_to_be32(fab[XREP_AGF_RMAPBT].height);
 
        if (xfs_has_reflink(sc->mp)) {
                agf->agf_refcount_root =
        pag->pagf_btreeblks = be32_to_cpu(agf->agf_btreeblks);
        pag->pagf_freeblks = be32_to_cpu(agf->agf_freeblks);
        pag->pagf_longest = be32_to_cpu(agf->agf_longest);
-       pag->pagf_levels[XFS_BTNUM_BNOi] =
-                       be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNOi]);
-       pag->pagf_levels[XFS_BTNUM_CNTi] =
-                       be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNTi]);
-       pag->pagf_levels[XFS_BTNUM_RMAPi] =
-                       be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAPi]);
+       pag->pagf_bno_level = be32_to_cpu(agf->agf_bno_level);
+       pag->pagf_cnt_level = be32_to_cpu(agf->agf_cnt_level);
+       pag->pagf_rmap_level = be32_to_cpu(agf->agf_rmap_level);
        pag->pagf_refcount_level = be32_to_cpu(agf->agf_refcount_level);
        set_bit(XFS_AGSTATE_AGF_INIT, &pag->pag_opstate);
 
 
         * height values before re-initializing the perag info from the updated
         * AGF to capture all the new values.
         */
-       pag->pagf_repair_levels[XFS_BTNUM_BNOi] = pag->pagf_levels[XFS_BTNUM_BNOi];
-       pag->pagf_repair_levels[XFS_BTNUM_CNTi] = pag->pagf_levels[XFS_BTNUM_CNTi];
+       pag->pagf_repair_bno_level = pag->pagf_bno_level;
+       pag->pagf_repair_cnt_level = pag->pagf_cnt_level;
 
        /* Reinitialize with the values we just logged. */
        return xrep_reinit_pagf(sc);
         * height so that we don't trip the verifiers when writing the new
         * btree blocks to disk.
         */
-       pag->pagf_repair_levels[XFS_BTNUM_BNOi] =
-                                       ra->new_bnobt.bload.btree_height;
-       pag->pagf_repair_levels[XFS_BTNUM_CNTi] =
-                                       ra->new_cntbt.bload.btree_height;
+       pag->pagf_repair_bno_level = ra->new_bnobt.bload.btree_height;
+       pag->pagf_repair_cnt_level = ra->new_cntbt.bload.btree_height;
 
        /* Load the free space by length tree. */
        ra->array_cur = XFARRAY_CURSOR_INIT;
        return xrep_roll_ag_trans(sc);
 
 err_levels:
-       pag->pagf_repair_levels[XFS_BTNUM_BNOi] = 0;
-       pag->pagf_repair_levels[XFS_BTNUM_CNTi] = 0;
+       pag->pagf_repair_bno_level = 0;
+       pag->pagf_repair_cnt_level = 0;
 err_cur:
        xfs_btree_del_cursor(cnt_cur, error);
        xfs_btree_del_cursor(bno_cur, error);
         * Now that we've zapped all the old allocbt blocks we can turn off
         * the alternate height mechanism.
         */
-       pag->pagf_repair_levels[XFS_BTNUM_BNOi] = 0;
-       pag->pagf_repair_levels[XFS_BTNUM_CNTi] = 0;
+       pag->pagf_repair_bno_level = 0;
+       pag->pagf_repair_cnt_level = 0;
        return 0;
 }
 
 
                __entry->agno = be32_to_cpu(agf->agf_seqno),
                __entry->flags = flags;
                __entry->length = be32_to_cpu(agf->agf_length),
-               __entry->bno_root = be32_to_cpu(agf->agf_roots[XFS_BTNUM_BNO]),
-               __entry->cnt_root = be32_to_cpu(agf->agf_roots[XFS_BTNUM_CNT]),
-               __entry->bno_level =
-                               be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]),
-               __entry->cnt_level =
-                               be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]),
+               __entry->bno_root = be32_to_cpu(agf->agf_bno_root),
+               __entry->cnt_root = be32_to_cpu(agf->agf_cnt_root),
+               __entry->bno_level = be32_to_cpu(agf->agf_bno_level),
+               __entry->cnt_level = be32_to_cpu(agf->agf_cnt_level),
                __entry->flfirst = be32_to_cpu(agf->agf_flfirst),
                __entry->fllast = be32_to_cpu(agf->agf_fllast),
                __entry->flcount = be32_to_cpu(agf->agf_flcount),