]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
xfs: remove agno from btree cursor
authorDave Chinner <dchinner@redhat.com>
Wed, 2 Jun 2021 00:48:24 +0000 (10:48 +1000)
committerDave Chinner <david@fromorbit.com>
Wed, 2 Jun 2021 00:48:24 +0000 (10:48 +1000)
Now that everything passes a perag, the agno is not needed anymore.
Convert all the users to use pag->pag_agno instead and remove the
agno from the cursor. This was largely done as an automated search
and replace.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
19 files changed:
fs/xfs/libxfs/xfs_alloc.c
fs/xfs/libxfs/xfs_alloc_btree.c
fs/xfs/libxfs/xfs_btree.c
fs/xfs/libxfs/xfs_btree.h
fs/xfs/libxfs/xfs_ialloc.c
fs/xfs/libxfs/xfs_ialloc_btree.c
fs/xfs/libxfs/xfs_refcount.c
fs/xfs/libxfs/xfs_refcount_btree.c
fs/xfs/libxfs/xfs_rmap.c
fs/xfs/libxfs/xfs_rmap_btree.c
fs/xfs/scrub/agheader_repair.c
fs/xfs/scrub/alloc.c
fs/xfs/scrub/bmap.c
fs/xfs/scrub/ialloc.c
fs/xfs/scrub/refcount.c
fs/xfs/scrub/rmap.c
fs/xfs/scrub/trace.c
fs/xfs/xfs_fsmap.c
fs/xfs/xfs_trace.h

index c99a80286efa9b3f0fcc2bd2b2fb19f8759e706d..f7864f33c1f0d3329ec3a202a45bdc198ad305a4 100644 (file)
@@ -230,7 +230,7 @@ xfs_alloc_get_rec(
        int                     *stat)  /* output: success/failure */
 {
        struct xfs_mount        *mp = cur->bc_mp;
-       xfs_agnumber_t          agno = cur->bc_ag.agno;
+       xfs_agnumber_t          agno = cur->bc_ag.pag->pag_agno;
        union xfs_btree_rec     *rec;
        int                     error;
 
index 0c2e4cff4ee38e4cf204d6b95726a297f120cd7a..6b363f78cfa2145125eec5552bc915ed52a6a8f9 100644 (file)
@@ -497,7 +497,6 @@ xfs_allocbt_init_common(
        /* take a reference for the cursor */
        atomic_inc(&pag->pag_ref);
        cur->bc_ag.pag = pag;
-       cur->bc_ag.agno = pag->pag_agno;
 
        if (xfs_sb_version_hascrc(&mp->m_sb))
                cur->bc_flags |= XFS_BTREE_CRC_BLOCKS;
index 44044317c0fbf513515074b8896eaae86e9a683c..be74a6b53689048b71d8aaf6ee369e422367a60b 100644 (file)
@@ -216,7 +216,7 @@ xfs_btree_check_sptr(
 {
        if (level <= 0)
                return false;
-       return xfs_verify_agbno(cur->bc_mp, cur->bc_ag.agno, agbno);
+       return xfs_verify_agbno(cur->bc_mp, cur->bc_ag.pag->pag_agno, agbno);
 }
 
 /*
@@ -245,7 +245,7 @@ xfs_btree_check_ptr(
                        return 0;
                xfs_err(cur->bc_mp,
 "AG %u: Corrupt btree %d pointer at level %d index %d.",
-                               cur->bc_ag.agno, cur->bc_btnum,
+                               cur->bc_ag.pag->pag_agno, cur->bc_btnum,
                                level, index);
        }
 
@@ -888,13 +888,13 @@ xfs_btree_readahead_sblock(
 
 
        if ((lr & XFS_BTCUR_LEFTRA) && left != NULLAGBLOCK) {
-               xfs_btree_reada_bufs(cur->bc_mp, cur->bc_ag.agno,
+               xfs_btree_reada_bufs(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                                     left, 1, cur->bc_ops->buf_ops);
                rval++;
        }
 
        if ((lr & XFS_BTCUR_RIGHTRA) && right != NULLAGBLOCK) {
-               xfs_btree_reada_bufs(cur->bc_mp, cur->bc_ag.agno,
+               xfs_btree_reada_bufs(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                                     right, 1, cur->bc_ops->buf_ops);
                rval++;
        }
@@ -952,7 +952,7 @@ xfs_btree_ptr_to_daddr(
                *daddr = XFS_FSB_TO_DADDR(cur->bc_mp, fsbno);
        } else {
                agbno = be32_to_cpu(ptr->s);
-               *daddr = XFS_AGB_TO_DADDR(cur->bc_mp, cur->bc_ag.agno,
+               *daddr = XFS_AGB_TO_DADDR(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                                agbno);
        }
 
@@ -1153,7 +1153,7 @@ xfs_btree_init_block_cur(
        if (cur->bc_flags & XFS_BTREE_LONG_PTRS)
                owner = cur->bc_ino.ip->i_ino;
        else
-               owner = cur->bc_ag.agno;
+               owner = cur->bc_ag.pag->pag_agno;
 
        xfs_btree_init_block_int(cur->bc_mp, XFS_BUF_TO_BLOCK(bp), bp->b_bn,
                                 cur->bc_btnum, level, numrecs,
index e71f33f1f111855895e3d30cb06862d8472794ce..4dbdc659c396b2bbe59fc7ea70196d34f49c159a 100644 (file)
@@ -181,7 +181,6 @@ union xfs_btree_irec {
 
 /* Per-AG btree information. */
 struct xfs_btree_cur_ag {
-       xfs_agnumber_t          agno;
        struct xfs_perag        *pag;
        union {
                struct xfs_buf          *agbp;
index e6f64d41e208c6df2ba2bf393f6f431e84dca3ac..4540fbcd68a38baf6064e49c62bd59b7277de5a9 100644 (file)
@@ -105,7 +105,7 @@ xfs_inobt_get_rec(
        int                             *stat)
 {
        struct xfs_mount                *mp = cur->bc_mp;
-       xfs_agnumber_t                  agno = cur->bc_ag.agno;
+       xfs_agnumber_t                  agno = cur->bc_ag.pag->pag_agno;
        union xfs_btree_rec             *rec;
        int                             error;
        uint64_t                        realfree;
index 450161b53648d7297ae72adc92f95acaac53e507..823a038939f86e58922c197acfb4d8d83c6ab4ce 100644 (file)
@@ -102,7 +102,7 @@ __xfs_inobt_alloc_block(
        args.tp = cur->bc_tp;
        args.mp = cur->bc_mp;
        args.oinfo = XFS_RMAP_OINFO_INOBT;
-       args.fsbno = XFS_AGB_TO_FSB(args.mp, cur->bc_ag.agno, sbno);
+       args.fsbno = XFS_AGB_TO_FSB(args.mp, cur->bc_ag.pag->pag_agno, sbno);
        args.minlen = 1;
        args.maxlen = 1;
        args.prod = 1;
@@ -235,7 +235,7 @@ xfs_inobt_init_ptr_from_cur(
 {
        struct xfs_agi          *agi = cur->bc_ag.agbp->b_addr;
 
-       ASSERT(cur->bc_ag.agno == be32_to_cpu(agi->agi_seqno));
+       ASSERT(cur->bc_ag.pag->pag_agno == be32_to_cpu(agi->agi_seqno));
 
        ptr->s = agi->agi_root;
 }
@@ -247,7 +247,7 @@ xfs_finobt_init_ptr_from_cur(
 {
        struct xfs_agi          *agi = cur->bc_ag.agbp->b_addr;
 
-       ASSERT(cur->bc_ag.agno == be32_to_cpu(agi->agi_seqno));
+       ASSERT(cur->bc_ag.pag->pag_agno == be32_to_cpu(agi->agi_seqno));
        ptr->s = agi->agi_free_root;
 }
 
@@ -452,7 +452,6 @@ xfs_inobt_init_common(
        /* take a reference for the cursor */
        atomic_inc(&pag->pag_ref);
        cur->bc_ag.pag = pag;
-       cur->bc_ag.agno = pag->pag_agno;
        return cur;
 }
 
index fd2b9cd7ec6661377997e6e0571c00bc5f2c3509..860a0c9801ba0ed36adbb8627285b81770443897 100644 (file)
@@ -47,7 +47,7 @@ xfs_refcount_lookup_le(
        xfs_agblock_t           bno,
        int                     *stat)
 {
-       trace_xfs_refcount_lookup(cur->bc_mp, cur->bc_ag.agno, bno,
+       trace_xfs_refcount_lookup(cur->bc_mp, cur->bc_ag.pag->pag_agno, bno,
                        XFS_LOOKUP_LE);
        cur->bc_rec.rc.rc_startblock = bno;
        cur->bc_rec.rc.rc_blockcount = 0;
@@ -64,7 +64,7 @@ xfs_refcount_lookup_ge(
        xfs_agblock_t           bno,
        int                     *stat)
 {
-       trace_xfs_refcount_lookup(cur->bc_mp, cur->bc_ag.agno, bno,
+       trace_xfs_refcount_lookup(cur->bc_mp, cur->bc_ag.pag->pag_agno, bno,
                        XFS_LOOKUP_GE);
        cur->bc_rec.rc.rc_startblock = bno;
        cur->bc_rec.rc.rc_blockcount = 0;
@@ -81,7 +81,7 @@ xfs_refcount_lookup_eq(
        xfs_agblock_t           bno,
        int                     *stat)
 {
-       trace_xfs_refcount_lookup(cur->bc_mp, cur->bc_ag.agno, bno,
+       trace_xfs_refcount_lookup(cur->bc_mp, cur->bc_ag.pag->pag_agno, bno,
                        XFS_LOOKUP_LE);
        cur->bc_rec.rc.rc_startblock = bno;
        cur->bc_rec.rc.rc_blockcount = 0;
@@ -109,7 +109,7 @@ xfs_refcount_get_rec(
        int                             *stat)
 {
        struct xfs_mount                *mp = cur->bc_mp;
-       xfs_agnumber_t                  agno = cur->bc_ag.agno;
+       xfs_agnumber_t                  agno = cur->bc_ag.pag->pag_agno;
        union xfs_btree_rec             *rec;
        int                             error;
        xfs_agblock_t                   realstart;
@@ -120,7 +120,7 @@ xfs_refcount_get_rec(
 
        xfs_refcount_btrec_to_irec(rec, irec);
 
-       agno = cur->bc_ag.agno;
+       agno = cur->bc_ag.pag->pag_agno;
        if (irec->rc_blockcount == 0 || irec->rc_blockcount > MAXREFCEXTLEN)
                goto out_bad_rec;
 
@@ -145,7 +145,7 @@ xfs_refcount_get_rec(
        if (irec->rc_refcount == 0 || irec->rc_refcount > MAXREFCOUNT)
                goto out_bad_rec;
 
-       trace_xfs_refcount_get(cur->bc_mp, cur->bc_ag.agno, irec);
+       trace_xfs_refcount_get(cur->bc_mp, cur->bc_ag.pag->pag_agno, irec);
        return 0;
 
 out_bad_rec:
@@ -170,14 +170,14 @@ xfs_refcount_update(
        union xfs_btree_rec     rec;
        int                     error;
 
-       trace_xfs_refcount_update(cur->bc_mp, cur->bc_ag.agno, irec);
+       trace_xfs_refcount_update(cur->bc_mp, cur->bc_ag.pag->pag_agno, irec);
        rec.refc.rc_startblock = cpu_to_be32(irec->rc_startblock);
        rec.refc.rc_blockcount = cpu_to_be32(irec->rc_blockcount);
        rec.refc.rc_refcount = cpu_to_be32(irec->rc_refcount);
        error = xfs_btree_update(cur, &rec);
        if (error)
                trace_xfs_refcount_update_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -194,7 +194,7 @@ xfs_refcount_insert(
 {
        int                             error;
 
-       trace_xfs_refcount_insert(cur->bc_mp, cur->bc_ag.agno, irec);
+       trace_xfs_refcount_insert(cur->bc_mp, cur->bc_ag.pag->pag_agno, irec);
        cur->bc_rec.rc.rc_startblock = irec->rc_startblock;
        cur->bc_rec.rc.rc_blockcount = irec->rc_blockcount;
        cur->bc_rec.rc.rc_refcount = irec->rc_refcount;
@@ -209,7 +209,7 @@ xfs_refcount_insert(
 out_error:
        if (error)
                trace_xfs_refcount_insert_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -235,7 +235,7 @@ xfs_refcount_delete(
                error = -EFSCORRUPTED;
                goto out_error;
        }
-       trace_xfs_refcount_delete(cur->bc_mp, cur->bc_ag.agno, &irec);
+       trace_xfs_refcount_delete(cur->bc_mp, cur->bc_ag.pag->pag_agno, &irec);
        error = xfs_btree_delete(cur, i);
        if (XFS_IS_CORRUPT(cur->bc_mp, *i != 1)) {
                error = -EFSCORRUPTED;
@@ -247,7 +247,7 @@ xfs_refcount_delete(
 out_error:
        if (error)
                trace_xfs_refcount_delete_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -367,7 +367,7 @@ xfs_refcount_split_extent(
                return 0;
 
        *shape_changed = true;
-       trace_xfs_refcount_split_extent(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_refcount_split_extent(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        &rcext, agbno);
 
        /* Establish the right extent. */
@@ -392,7 +392,7 @@ xfs_refcount_split_extent(
 
 out_error:
        trace_xfs_refcount_split_extent_error(cur->bc_mp,
-                       cur->bc_ag.agno, error, _RET_IP_);
+                       cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -412,7 +412,7 @@ xfs_refcount_merge_center_extents(
        int                             found_rec;
 
        trace_xfs_refcount_merge_center_extents(cur->bc_mp,
-                       cur->bc_ag.agno, left, center, right);
+                       cur->bc_ag.pag->pag_agno, left, center, right);
 
        /*
         * Make sure the center and right extents are not in the btree.
@@ -469,7 +469,7 @@ xfs_refcount_merge_center_extents(
 
 out_error:
        trace_xfs_refcount_merge_center_extents_error(cur->bc_mp,
-                       cur->bc_ag.agno, error, _RET_IP_);
+                       cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -488,7 +488,7 @@ xfs_refcount_merge_left_extent(
        int                             found_rec;
 
        trace_xfs_refcount_merge_left_extent(cur->bc_mp,
-                       cur->bc_ag.agno, left, cleft);
+                       cur->bc_ag.pag->pag_agno, left, cleft);
 
        /* If the extent at agbno (cleft) wasn't synthesized, remove it. */
        if (cleft->rc_refcount > 1) {
@@ -531,7 +531,7 @@ xfs_refcount_merge_left_extent(
 
 out_error:
        trace_xfs_refcount_merge_left_extent_error(cur->bc_mp,
-                       cur->bc_ag.agno, error, _RET_IP_);
+                       cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -549,7 +549,7 @@ xfs_refcount_merge_right_extent(
        int                             found_rec;
 
        trace_xfs_refcount_merge_right_extent(cur->bc_mp,
-                       cur->bc_ag.agno, cright, right);
+                       cur->bc_ag.pag->pag_agno, cright, right);
 
        /*
         * If the extent ending at agbno+aglen (cright) wasn't synthesized,
@@ -595,7 +595,7 @@ xfs_refcount_merge_right_extent(
 
 out_error:
        trace_xfs_refcount_merge_right_extent_error(cur->bc_mp,
-                       cur->bc_ag.agno, error, _RET_IP_);
+                       cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -680,13 +680,13 @@ xfs_refcount_find_left_extents(
                cleft->rc_blockcount = aglen;
                cleft->rc_refcount = 1;
        }
-       trace_xfs_refcount_find_left_extent(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_refcount_find_left_extent(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        left, cleft, agbno);
        return error;
 
 out_error:
        trace_xfs_refcount_find_left_extent_error(cur->bc_mp,
-                       cur->bc_ag.agno, error, _RET_IP_);
+                       cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -769,13 +769,13 @@ xfs_refcount_find_right_extents(
                cright->rc_blockcount = aglen;
                cright->rc_refcount = 1;
        }
-       trace_xfs_refcount_find_right_extent(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_refcount_find_right_extent(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        cright, right, agbno + aglen);
        return error;
 
 out_error:
        trace_xfs_refcount_find_right_extent_error(cur->bc_mp,
-                       cur->bc_ag.agno, error, _RET_IP_);
+                       cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -953,7 +953,7 @@ xfs_refcount_adjust_extents(
                                        ext.rc_startblock - *agbno);
                        tmp.rc_refcount = 1 + adj;
                        trace_xfs_refcount_modify_extent(cur->bc_mp,
-                                       cur->bc_ag.agno, &tmp);
+                                       cur->bc_ag.pag->pag_agno, &tmp);
 
                        /*
                         * Either cover the hole (increment) or
@@ -972,7 +972,7 @@ xfs_refcount_adjust_extents(
                                cur->bc_ag.refc.nr_ops++;
                        } else {
                                fsbno = XFS_AGB_TO_FSB(cur->bc_mp,
-                                               cur->bc_ag.agno,
+                                               cur->bc_ag.pag->pag_agno,
                                                tmp.rc_startblock);
                                xfs_bmap_add_free(cur->bc_tp, fsbno,
                                                  tmp.rc_blockcount, oinfo);
@@ -999,7 +999,7 @@ xfs_refcount_adjust_extents(
                        goto skip;
                ext.rc_refcount += adj;
                trace_xfs_refcount_modify_extent(cur->bc_mp,
-                               cur->bc_ag.agno, &ext);
+                               cur->bc_ag.pag->pag_agno, &ext);
                if (ext.rc_refcount > 1) {
                        error = xfs_refcount_update(cur, &ext);
                        if (error)
@@ -1017,7 +1017,7 @@ xfs_refcount_adjust_extents(
                        goto advloop;
                } else {
                        fsbno = XFS_AGB_TO_FSB(cur->bc_mp,
-                                       cur->bc_ag.agno,
+                                       cur->bc_ag.pag->pag_agno,
                                        ext.rc_startblock);
                        xfs_bmap_add_free(cur->bc_tp, fsbno, ext.rc_blockcount,
                                          oinfo);
@@ -1036,7 +1036,7 @@ advloop:
        return error;
 out_error:
        trace_xfs_refcount_modify_extent_error(cur->bc_mp,
-                       cur->bc_ag.agno, error, _RET_IP_);
+                       cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -1058,10 +1058,10 @@ xfs_refcount_adjust(
        *new_agbno = agbno;
        *new_aglen = aglen;
        if (adj == XFS_REFCOUNT_ADJUST_INCREASE)
-               trace_xfs_refcount_increase(cur->bc_mp, cur->bc_ag.agno,
+               trace_xfs_refcount_increase(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                                agbno, aglen);
        else
-               trace_xfs_refcount_decrease(cur->bc_mp, cur->bc_ag.agno,
+               trace_xfs_refcount_decrease(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                                agbno, aglen);
 
        /*
@@ -1100,7 +1100,7 @@ xfs_refcount_adjust(
        return 0;
 
 out_error:
-       trace_xfs_refcount_adjust_error(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_refcount_adjust_error(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        error, _RET_IP_);
        return error;
 }
@@ -1297,7 +1297,7 @@ xfs_refcount_find_shared(
        int                             have;
        int                             error;
 
-       trace_xfs_refcount_find_shared(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_refcount_find_shared(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        agbno, aglen);
 
        /* By default, skip the whole range */
@@ -1377,12 +1377,12 @@ xfs_refcount_find_shared(
 
 done:
        trace_xfs_refcount_find_shared_result(cur->bc_mp,
-                       cur->bc_ag.agno, *fbno, *flen);
+                       cur->bc_ag.pag->pag_agno, *fbno, *flen);
 
 out_error:
        if (error)
                trace_xfs_refcount_find_shared_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -1479,7 +1479,7 @@ xfs_refcount_adjust_cow_extents(
                tmp.rc_blockcount = aglen;
                tmp.rc_refcount = 1;
                trace_xfs_refcount_modify_extent(cur->bc_mp,
-                               cur->bc_ag.agno, &tmp);
+                               cur->bc_ag.pag->pag_agno, &tmp);
 
                error = xfs_refcount_insert(cur, &tmp,
                                &found_tmp);
@@ -1507,7 +1507,7 @@ xfs_refcount_adjust_cow_extents(
 
                ext.rc_refcount = 0;
                trace_xfs_refcount_modify_extent(cur->bc_mp,
-                               cur->bc_ag.agno, &ext);
+                               cur->bc_ag.pag->pag_agno, &ext);
                error = xfs_refcount_delete(cur, &found_rec);
                if (error)
                        goto out_error;
@@ -1523,7 +1523,7 @@ xfs_refcount_adjust_cow_extents(
        return error;
 out_error:
        trace_xfs_refcount_modify_extent_error(cur->bc_mp,
-                       cur->bc_ag.agno, error, _RET_IP_);
+                       cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -1569,7 +1569,7 @@ xfs_refcount_adjust_cow(
        return 0;
 
 out_error:
-       trace_xfs_refcount_adjust_cow_error(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_refcount_adjust_cow_error(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        error, _RET_IP_);
        return error;
 }
@@ -1583,7 +1583,7 @@ __xfs_refcount_cow_alloc(
        xfs_agblock_t           agbno,
        xfs_extlen_t            aglen)
 {
-       trace_xfs_refcount_cow_increase(rcur->bc_mp, rcur->bc_ag.agno,
+       trace_xfs_refcount_cow_increase(rcur->bc_mp, rcur->bc_ag.pag->pag_agno,
                        agbno, aglen);
 
        /* Add refcount btree reservation */
@@ -1600,7 +1600,7 @@ __xfs_refcount_cow_free(
        xfs_agblock_t           agbno,
        xfs_extlen_t            aglen)
 {
-       trace_xfs_refcount_cow_decrease(rcur->bc_mp, rcur->bc_ag.agno,
+       trace_xfs_refcount_cow_decrease(rcur->bc_mp, rcur->bc_ag.pag->pag_agno,
                        agbno, aglen);
 
        /* Remove refcount btree reservation */
index 8f6577cb3475eb19407ab44da15de6a952c25874..92d336c17e8337e3186644cb3f2d83a9a57d487c 100644 (file)
@@ -65,7 +65,7 @@ xfs_refcountbt_alloc_block(
        args.tp = cur->bc_tp;
        args.mp = cur->bc_mp;
        args.type = XFS_ALLOCTYPE_NEAR_BNO;
-       args.fsbno = XFS_AGB_TO_FSB(cur->bc_mp, cur->bc_ag.agno,
+       args.fsbno = XFS_AGB_TO_FSB(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        xfs_refc_block(args.mp));
        args.oinfo = XFS_RMAP_OINFO_REFC;
        args.minlen = args.maxlen = args.prod = 1;
@@ -74,13 +74,13 @@ xfs_refcountbt_alloc_block(
        error = xfs_alloc_vextent(&args);
        if (error)
                goto out_error;
-       trace_xfs_refcountbt_alloc_block(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_refcountbt_alloc_block(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        args.agbno, 1);
        if (args.fsbno == NULLFSBLOCK) {
                *stat = 0;
                return 0;
        }
-       ASSERT(args.agno == cur->bc_ag.agno);
+       ASSERT(args.agno == cur->bc_ag.pag->pag_agno);
        ASSERT(args.len == 1);
 
        new->s = cpu_to_be32(args.agbno);
@@ -105,7 +105,7 @@ xfs_refcountbt_free_block(
        xfs_fsblock_t           fsbno = XFS_DADDR_TO_FSB(mp, XFS_BUF_ADDR(bp));
        int                     error;
 
-       trace_xfs_refcountbt_free_block(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_refcountbt_free_block(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        XFS_FSB_TO_AGBNO(cur->bc_mp, fsbno), 1);
        be32_add_cpu(&agf->agf_refcount_blocks, -1);
        xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_REFCOUNT_BLOCKS);
@@ -170,7 +170,7 @@ xfs_refcountbt_init_ptr_from_cur(
 {
        struct xfs_agf          *agf = cur->bc_ag.agbp->b_addr;
 
-       ASSERT(cur->bc_ag.agno == be32_to_cpu(agf->agf_seqno));
+       ASSERT(cur->bc_ag.pag->pag_agno == be32_to_cpu(agf->agf_seqno));
 
        ptr->s = agf->agf_refcount_root;
 }
@@ -334,7 +334,6 @@ xfs_refcountbt_init_common(
        /* take a reference for the cursor */
        atomic_inc(&pag->pag_ref);
        cur->bc_ag.pag = pag;
-       cur->bc_ag.agno = pag->pag_agno;
 
        cur->bc_ag.refc.nr_ops = 0;
        cur->bc_ag.refc.shape_changes = 0;
index b23f949ee15ce2c81691e6075c747392fb4bb59b..d1dfad0204e3f8a5e48dc1c76c9b454fab8aedaa 100644 (file)
@@ -81,7 +81,7 @@ xfs_rmap_update(
        union xfs_btree_rec     rec;
        int                     error;
 
-       trace_xfs_rmap_update(cur->bc_mp, cur->bc_ag.agno,
+       trace_xfs_rmap_update(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                        irec->rm_startblock, irec->rm_blockcount,
                        irec->rm_owner, irec->rm_offset, irec->rm_flags);
 
@@ -93,7 +93,7 @@ xfs_rmap_update(
        error = xfs_btree_update(cur, &rec);
        if (error)
                trace_xfs_rmap_update_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -109,7 +109,7 @@ xfs_rmap_insert(
        int                     i;
        int                     error;
 
-       trace_xfs_rmap_insert(rcur->bc_mp, rcur->bc_ag.agno, agbno,
+       trace_xfs_rmap_insert(rcur->bc_mp, rcur->bc_ag.pag->pag_agno, agbno,
                        len, owner, offset, flags);
 
        error = xfs_rmap_lookup_eq(rcur, agbno, len, owner, offset, flags, &i);
@@ -135,7 +135,7 @@ xfs_rmap_insert(
 done:
        if (error)
                trace_xfs_rmap_insert_error(rcur->bc_mp,
-                               rcur->bc_ag.agno, error, _RET_IP_);
+                               rcur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -151,7 +151,7 @@ xfs_rmap_delete(
        int                     i;
        int                     error;
 
-       trace_xfs_rmap_delete(rcur->bc_mp, rcur->bc_ag.agno, agbno,
+       trace_xfs_rmap_delete(rcur->bc_mp, rcur->bc_ag.pag->pag_agno, agbno,
                        len, owner, offset, flags);
 
        error = xfs_rmap_lookup_eq(rcur, agbno, len, owner, offset, flags, &i);
@@ -172,7 +172,7 @@ xfs_rmap_delete(
 done:
        if (error)
                trace_xfs_rmap_delete_error(rcur->bc_mp,
-                               rcur->bc_ag.agno, error, _RET_IP_);
+                               rcur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -199,7 +199,7 @@ xfs_rmap_get_rec(
        int                     *stat)
 {
        struct xfs_mount        *mp = cur->bc_mp;
-       xfs_agnumber_t          agno = cur->bc_ag.agno;
+       xfs_agnumber_t          agno = cur->bc_ag.pag->pag_agno;
        union xfs_btree_rec     *rec;
        int                     error;
 
@@ -262,7 +262,7 @@ xfs_rmap_find_left_neighbor_helper(
        struct xfs_find_left_neighbor_info      *info = priv;
 
        trace_xfs_rmap_find_left_neighbor_candidate(cur->bc_mp,
-                       cur->bc_ag.agno, rec->rm_startblock,
+                       cur->bc_ag.pag->pag_agno, rec->rm_startblock,
                        rec->rm_blockcount, rec->rm_owner, rec->rm_offset,
                        rec->rm_flags);
 
@@ -314,7 +314,7 @@ xfs_rmap_find_left_neighbor(
        info.stat = stat;
 
        trace_xfs_rmap_find_left_neighbor_query(cur->bc_mp,
-                       cur->bc_ag.agno, bno, 0, owner, offset, flags);
+                       cur->bc_ag.pag->pag_agno, bno, 0, owner, offset, flags);
 
        error = xfs_rmap_query_range(cur, &info.high, &info.high,
                        xfs_rmap_find_left_neighbor_helper, &info);
@@ -322,7 +322,7 @@ xfs_rmap_find_left_neighbor(
                error = 0;
        if (*stat)
                trace_xfs_rmap_find_left_neighbor_result(cur->bc_mp,
-                               cur->bc_ag.agno, irec->rm_startblock,
+                               cur->bc_ag.pag->pag_agno, irec->rm_startblock,
                                irec->rm_blockcount, irec->rm_owner,
                                irec->rm_offset, irec->rm_flags);
        return error;
@@ -338,7 +338,7 @@ xfs_rmap_lookup_le_range_helper(
        struct xfs_find_left_neighbor_info      *info = priv;
 
        trace_xfs_rmap_lookup_le_range_candidate(cur->bc_mp,
-                       cur->bc_ag.agno, rec->rm_startblock,
+                       cur->bc_ag.pag->pag_agno, rec->rm_startblock,
                        rec->rm_blockcount, rec->rm_owner, rec->rm_offset,
                        rec->rm_flags);
 
@@ -387,14 +387,14 @@ xfs_rmap_lookup_le_range(
        info.stat = stat;
 
        trace_xfs_rmap_lookup_le_range(cur->bc_mp,
-                       cur->bc_ag.agno, bno, 0, owner, offset, flags);
+                       cur->bc_ag.pag->pag_agno, bno, 0, owner, offset, flags);
        error = xfs_rmap_query_range(cur, &info.high, &info.high,
                        xfs_rmap_lookup_le_range_helper, &info);
        if (error == -ECANCELED)
                error = 0;
        if (*stat)
                trace_xfs_rmap_lookup_le_range_result(cur->bc_mp,
-                               cur->bc_ag.agno, irec->rm_startblock,
+                               cur->bc_ag.pag->pag_agno, irec->rm_startblock,
                                irec->rm_blockcount, irec->rm_owner,
                                irec->rm_offset, irec->rm_flags);
        return error;
@@ -500,7 +500,7 @@ xfs_rmap_unmap(
                        (flags & XFS_RMAP_BMBT_BLOCK);
        if (unwritten)
                flags |= XFS_RMAP_UNWRITTEN;
-       trace_xfs_rmap_unmap(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_unmap(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 
        /*
@@ -524,7 +524,7 @@ xfs_rmap_unmap(
                goto out_error;
        }
        trace_xfs_rmap_lookup_le_range_result(cur->bc_mp,
-                       cur->bc_ag.agno, ltrec.rm_startblock,
+                       cur->bc_ag.pag->pag_agno, ltrec.rm_startblock,
                        ltrec.rm_blockcount, ltrec.rm_owner,
                        ltrec.rm_offset, ltrec.rm_flags);
        ltoff = ltrec.rm_offset;
@@ -590,7 +590,7 @@ xfs_rmap_unmap(
 
        if (ltrec.rm_startblock == bno && ltrec.rm_blockcount == len) {
                /* exact match, simply remove the record from rmap tree */
-               trace_xfs_rmap_delete(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_delete(mp, cur->bc_ag.pag->pag_agno,
                                ltrec.rm_startblock, ltrec.rm_blockcount,
                                ltrec.rm_owner, ltrec.rm_offset,
                                ltrec.rm_flags);
@@ -668,7 +668,7 @@ xfs_rmap_unmap(
                else
                        cur->bc_rec.r.rm_offset = offset + len;
                cur->bc_rec.r.rm_flags = flags;
-               trace_xfs_rmap_insert(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_insert(mp, cur->bc_ag.pag->pag_agno,
                                cur->bc_rec.r.rm_startblock,
                                cur->bc_rec.r.rm_blockcount,
                                cur->bc_rec.r.rm_owner,
@@ -680,11 +680,11 @@ xfs_rmap_unmap(
        }
 
 out_done:
-       trace_xfs_rmap_unmap_done(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_unmap_done(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 out_error:
        if (error)
-               trace_xfs_rmap_unmap_error(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_unmap_error(mp, cur->bc_ag.pag->pag_agno,
                                error, _RET_IP_);
        return error;
 }
@@ -775,7 +775,7 @@ xfs_rmap_map(
                        (flags & XFS_RMAP_BMBT_BLOCK);
        if (unwritten)
                flags |= XFS_RMAP_UNWRITTEN;
-       trace_xfs_rmap_map(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_map(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
        ASSERT(!xfs_rmap_should_skip_owner_update(oinfo));
 
@@ -797,7 +797,7 @@ xfs_rmap_map(
                        goto out_error;
                }
                trace_xfs_rmap_lookup_le_range_result(cur->bc_mp,
-                               cur->bc_ag.agno, ltrec.rm_startblock,
+                               cur->bc_ag.pag->pag_agno, ltrec.rm_startblock,
                                ltrec.rm_blockcount, ltrec.rm_owner,
                                ltrec.rm_offset, ltrec.rm_flags);
 
@@ -833,7 +833,7 @@ xfs_rmap_map(
                        goto out_error;
                }
                trace_xfs_rmap_find_right_neighbor_result(cur->bc_mp,
-                       cur->bc_ag.agno, gtrec.rm_startblock,
+                       cur->bc_ag.pag->pag_agno, gtrec.rm_startblock,
                        gtrec.rm_blockcount, gtrec.rm_owner,
                        gtrec.rm_offset, gtrec.rm_flags);
                if (!xfs_rmap_is_mergeable(&gtrec, owner, flags))
@@ -872,7 +872,7 @@ xfs_rmap_map(
                         * result: |rrrrrrrrrrrrrrrrrrrrrrrrrrrrr|
                         */
                        ltrec.rm_blockcount += gtrec.rm_blockcount;
-                       trace_xfs_rmap_delete(mp, cur->bc_ag.agno,
+                       trace_xfs_rmap_delete(mp, cur->bc_ag.pag->pag_agno,
                                        gtrec.rm_startblock,
                                        gtrec.rm_blockcount,
                                        gtrec.rm_owner,
@@ -923,7 +923,7 @@ xfs_rmap_map(
                cur->bc_rec.r.rm_owner = owner;
                cur->bc_rec.r.rm_offset = offset;
                cur->bc_rec.r.rm_flags = flags;
-               trace_xfs_rmap_insert(mp, cur->bc_ag.agno, bno, len,
+               trace_xfs_rmap_insert(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        owner, offset, flags);
                error = xfs_btree_insert(cur, &i);
                if (error)
@@ -934,11 +934,11 @@ xfs_rmap_map(
                }
        }
 
-       trace_xfs_rmap_map_done(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_map_done(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 out_error:
        if (error)
-               trace_xfs_rmap_map_error(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_map_error(mp, cur->bc_ag.pag->pag_agno,
                                error, _RET_IP_);
        return error;
 }
@@ -1012,7 +1012,7 @@ xfs_rmap_convert(
                        (flags & (XFS_RMAP_ATTR_FORK | XFS_RMAP_BMBT_BLOCK))));
        oldext = unwritten ? XFS_RMAP_UNWRITTEN : 0;
        new_endoff = offset + len;
-       trace_xfs_rmap_convert(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_convert(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 
        /*
@@ -1036,7 +1036,7 @@ xfs_rmap_convert(
                goto done;
        }
        trace_xfs_rmap_lookup_le_range_result(cur->bc_mp,
-                       cur->bc_ag.agno, PREV.rm_startblock,
+                       cur->bc_ag.pag->pag_agno, PREV.rm_startblock,
                        PREV.rm_blockcount, PREV.rm_owner,
                        PREV.rm_offset, PREV.rm_flags);
 
@@ -1078,7 +1078,7 @@ xfs_rmap_convert(
                        goto done;
                }
                trace_xfs_rmap_find_left_neighbor_result(cur->bc_mp,
-                               cur->bc_ag.agno, LEFT.rm_startblock,
+                               cur->bc_ag.pag->pag_agno, LEFT.rm_startblock,
                                LEFT.rm_blockcount, LEFT.rm_owner,
                                LEFT.rm_offset, LEFT.rm_flags);
                if (LEFT.rm_startblock + LEFT.rm_blockcount == bno &&
@@ -1116,7 +1116,7 @@ xfs_rmap_convert(
                        goto done;
                }
                trace_xfs_rmap_find_right_neighbor_result(cur->bc_mp,
-                               cur->bc_ag.agno, RIGHT.rm_startblock,
+                               cur->bc_ag.pag->pag_agno, RIGHT.rm_startblock,
                                RIGHT.rm_blockcount, RIGHT.rm_owner,
                                RIGHT.rm_offset, RIGHT.rm_flags);
                if (bno + len == RIGHT.rm_startblock &&
@@ -1134,7 +1134,7 @@ xfs_rmap_convert(
             RIGHT.rm_blockcount > XFS_RMAP_LEN_MAX)
                state &= ~RMAP_RIGHT_CONTIG;
 
-       trace_xfs_rmap_convert_state(mp, cur->bc_ag.agno, state,
+       trace_xfs_rmap_convert_state(mp, cur->bc_ag.pag->pag_agno, state,
                        _RET_IP_);
 
        /* reset the cursor back to PREV */
@@ -1164,7 +1164,7 @@ xfs_rmap_convert(
                        error = -EFSCORRUPTED;
                        goto done;
                }
-               trace_xfs_rmap_delete(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_delete(mp, cur->bc_ag.pag->pag_agno,
                                RIGHT.rm_startblock, RIGHT.rm_blockcount,
                                RIGHT.rm_owner, RIGHT.rm_offset,
                                RIGHT.rm_flags);
@@ -1182,7 +1182,7 @@ xfs_rmap_convert(
                        error = -EFSCORRUPTED;
                        goto done;
                }
-               trace_xfs_rmap_delete(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_delete(mp, cur->bc_ag.pag->pag_agno,
                                PREV.rm_startblock, PREV.rm_blockcount,
                                PREV.rm_owner, PREV.rm_offset,
                                PREV.rm_flags);
@@ -1212,7 +1212,7 @@ xfs_rmap_convert(
                 * Setting all of a previous oldext extent to newext.
                 * The left neighbor is contiguous, the right is not.
                 */
-               trace_xfs_rmap_delete(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_delete(mp, cur->bc_ag.pag->pag_agno,
                                PREV.rm_startblock, PREV.rm_blockcount,
                                PREV.rm_owner, PREV.rm_offset,
                                PREV.rm_flags);
@@ -1249,7 +1249,7 @@ xfs_rmap_convert(
                        error = -EFSCORRUPTED;
                        goto done;
                }
-               trace_xfs_rmap_delete(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_delete(mp, cur->bc_ag.pag->pag_agno,
                                RIGHT.rm_startblock, RIGHT.rm_blockcount,
                                RIGHT.rm_owner, RIGHT.rm_offset,
                                RIGHT.rm_flags);
@@ -1328,7 +1328,7 @@ xfs_rmap_convert(
                NEW.rm_blockcount = len;
                NEW.rm_flags = newext;
                cur->bc_rec.r = NEW;
-               trace_xfs_rmap_insert(mp, cur->bc_ag.agno, bno,
+               trace_xfs_rmap_insert(mp, cur->bc_ag.pag->pag_agno, bno,
                                len, owner, offset, newext);
                error = xfs_btree_insert(cur, &i);
                if (error)
@@ -1385,7 +1385,7 @@ xfs_rmap_convert(
                NEW.rm_blockcount = len;
                NEW.rm_flags = newext;
                cur->bc_rec.r = NEW;
-               trace_xfs_rmap_insert(mp, cur->bc_ag.agno, bno,
+               trace_xfs_rmap_insert(mp, cur->bc_ag.pag->pag_agno, bno,
                                len, owner, offset, newext);
                error = xfs_btree_insert(cur, &i);
                if (error)
@@ -1416,7 +1416,7 @@ xfs_rmap_convert(
                NEW = PREV;
                NEW.rm_blockcount = offset - PREV.rm_offset;
                cur->bc_rec.r = NEW;
-               trace_xfs_rmap_insert(mp, cur->bc_ag.agno,
+               trace_xfs_rmap_insert(mp, cur->bc_ag.pag->pag_agno,
                                NEW.rm_startblock, NEW.rm_blockcount,
                                NEW.rm_owner, NEW.rm_offset,
                                NEW.rm_flags);
@@ -1443,7 +1443,7 @@ xfs_rmap_convert(
                /* new middle extent - newext */
                cur->bc_rec.r.rm_flags &= ~XFS_RMAP_UNWRITTEN;
                cur->bc_rec.r.rm_flags |= newext;
-               trace_xfs_rmap_insert(mp, cur->bc_ag.agno, bno, len,
+               trace_xfs_rmap_insert(mp, cur->bc_ag.pag->pag_agno, bno, len,
                                owner, offset, newext);
                error = xfs_btree_insert(cur, &i);
                if (error)
@@ -1467,12 +1467,12 @@ xfs_rmap_convert(
                ASSERT(0);
        }
 
-       trace_xfs_rmap_convert_done(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_convert_done(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 done:
        if (error)
                trace_xfs_rmap_convert_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -1508,7 +1508,7 @@ xfs_rmap_convert_shared(
                        (flags & (XFS_RMAP_ATTR_FORK | XFS_RMAP_BMBT_BLOCK))));
        oldext = unwritten ? XFS_RMAP_UNWRITTEN : 0;
        new_endoff = offset + len;
-       trace_xfs_rmap_convert(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_convert(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 
        /*
@@ -1575,7 +1575,7 @@ xfs_rmap_convert_shared(
                        goto done;
                }
                trace_xfs_rmap_find_right_neighbor_result(cur->bc_mp,
-                               cur->bc_ag.agno, RIGHT.rm_startblock,
+                               cur->bc_ag.pag->pag_agno, RIGHT.rm_startblock,
                                RIGHT.rm_blockcount, RIGHT.rm_owner,
                                RIGHT.rm_offset, RIGHT.rm_flags);
                if (xfs_rmap_is_mergeable(&RIGHT, owner, newext))
@@ -1591,7 +1591,7 @@ xfs_rmap_convert_shared(
             RIGHT.rm_blockcount > XFS_RMAP_LEN_MAX)
                state &= ~RMAP_RIGHT_CONTIG;
 
-       trace_xfs_rmap_convert_state(mp, cur->bc_ag.agno, state,
+       trace_xfs_rmap_convert_state(mp, cur->bc_ag.pag->pag_agno, state,
                        _RET_IP_);
        /*
         * Switch out based on the FILLING and CONTIG state bits.
@@ -1882,12 +1882,12 @@ xfs_rmap_convert_shared(
                ASSERT(0);
        }
 
-       trace_xfs_rmap_convert_done(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_convert_done(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 done:
        if (error)
                trace_xfs_rmap_convert_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -1925,7 +1925,7 @@ xfs_rmap_unmap_shared(
        xfs_owner_info_unpack(oinfo, &owner, &offset, &flags);
        if (unwritten)
                flags |= XFS_RMAP_UNWRITTEN;
-       trace_xfs_rmap_unmap(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_unmap(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 
        /*
@@ -2074,12 +2074,12 @@ xfs_rmap_unmap_shared(
                        goto out_error;
        }
 
-       trace_xfs_rmap_unmap_done(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_unmap_done(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 out_error:
        if (error)
                trace_xfs_rmap_unmap_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -2114,7 +2114,7 @@ xfs_rmap_map_shared(
        xfs_owner_info_unpack(oinfo, &owner, &offset, &flags);
        if (unwritten)
                flags |= XFS_RMAP_UNWRITTEN;
-       trace_xfs_rmap_map(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_map(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 
        /* Is there a left record that abuts our range? */
@@ -2140,7 +2140,7 @@ xfs_rmap_map_shared(
                        goto out_error;
                }
                trace_xfs_rmap_find_right_neighbor_result(cur->bc_mp,
-                       cur->bc_ag.agno, gtrec.rm_startblock,
+                       cur->bc_ag.pag->pag_agno, gtrec.rm_startblock,
                        gtrec.rm_blockcount, gtrec.rm_owner,
                        gtrec.rm_offset, gtrec.rm_flags);
 
@@ -2233,12 +2233,12 @@ xfs_rmap_map_shared(
                        goto out_error;
        }
 
-       trace_xfs_rmap_map_done(mp, cur->bc_ag.agno, bno, len,
+       trace_xfs_rmap_map_done(mp, cur->bc_ag.pag->pag_agno, bno, len,
                        unwritten, oinfo);
 out_error:
        if (error)
                trace_xfs_rmap_map_error(cur->bc_mp,
-                               cur->bc_ag.agno, error, _RET_IP_);
+                               cur->bc_ag.pag->pag_agno, error, _RET_IP_);
        return error;
 }
 
@@ -2389,7 +2389,7 @@ xfs_rmap_finish_one(
         * the startblock, get one now.
         */
        rcur = *pcur;
-       if (rcur != NULL && rcur->bc_ag.agno != pag->pag_agno) {
+       if (rcur != NULL && rcur->bc_ag.pag != pag) {
                xfs_rmap_finish_one_cleanup(tp, rcur, 0);
                rcur = NULL;
                *pcur = NULL;
index cafe181bc92dd7451a6fce0241d494abfa72dbf1..f29bc71b995089b5482fd84444db2b967fa0e2b2 100644 (file)
@@ -464,7 +464,6 @@ xfs_rmapbt_init_common(
        /* take a reference for the cursor */
        atomic_inc(&pag->pag_ref);
        cur->bc_ag.pag = pag;
-       cur->bc_ag.agno = pag->pag_agno;
 
        return cur;
 }
index ecc9146647baf7e49142a9869ebc6ba54552b2e6..e95f8c98f0f7ce13971a64a037f48285433a2695 100644 (file)
@@ -454,7 +454,7 @@ xrep_agfl_walk_rmap(
 
        /* Record all the OWN_AG blocks. */
        if (rec->rm_owner == XFS_RMAP_OWN_AG) {
-               fsb = XFS_AGB_TO_FSB(cur->bc_mp, cur->bc_ag.agno,
+               fsb = XFS_AGB_TO_FSB(cur->bc_mp, cur->bc_ag.pag->pag_agno,
                                rec->rm_startblock);
                error = xbitmap_set(ra->freesp, fsb, rec->rm_blockcount);
                if (error)
index 2720bd7fe53b46a2e4d69f213745cd8b5c557fc3..d5741980094a9b4fa8313573d0e7629476d7defc 100644 (file)
@@ -15,6 +15,7 @@
 #include "scrub/scrub.h"
 #include "scrub/common.h"
 #include "scrub/btree.h"
+#include "xfs_ag.h"
 
 /*
  * Set us up to scrub free space btrees.
@@ -93,7 +94,7 @@ xchk_allocbt_rec(
        union xfs_btree_rec     *rec)
 {
        struct xfs_mount        *mp = bs->cur->bc_mp;
-       xfs_agnumber_t          agno = bs->cur->bc_ag.agno;
+       xfs_agnumber_t          agno = bs->cur->bc_ag.pag->pag_agno;
        xfs_agblock_t           bno;
        xfs_extlen_t            len;
 
index 864c107666d5d64f948c39b3a5d9ae9da8c0c2c2..0f125583189fa04acc3dc24c490eb339ba423de2 100644 (file)
@@ -515,7 +515,7 @@ xchk_bmap_check_rmap(
                        xchk_fblock_set_corrupt(sc, sbcri->whichfork,
                                        rec->rm_offset);
                if (irec.br_startblock != XFS_AGB_TO_FSB(sc->mp,
-                               cur->bc_ag.agno, rec->rm_startblock))
+                               cur->bc_ag.pag->pag_agno, rec->rm_startblock))
                        xchk_fblock_set_corrupt(sc, sbcri->whichfork,
                                        rec->rm_offset);
                if (irec.br_blockcount > rec->rm_blockcount)
index 8d9f3fb0cd22436e05fef685da6e167e5156c736..30e568596b790be9b9830141c415aee863df5f24 100644 (file)
@@ -21,6 +21,7 @@
 #include "scrub/common.h"
 #include "scrub/btree.h"
 #include "scrub/trace.h"
+#include "xfs_ag.h"
 
 /*
  * Set us up to scrub inode btrees.
@@ -103,7 +104,7 @@ xchk_iallocbt_chunk(
        xfs_extlen_t                    len)
 {
        struct xfs_mount                *mp = bs->cur->bc_mp;
-       xfs_agnumber_t                  agno = bs->cur->bc_ag.agno;
+       xfs_agnumber_t                  agno = bs->cur->bc_ag.pag->pag_agno;
        xfs_agblock_t                   bno;
 
        bno = XFS_AGINO_TO_AGBNO(mp, agino);
@@ -163,7 +164,7 @@ xchk_iallocbt_check_cluster_ifree(
         * the record, compute which fs inode we're talking about.
         */
        agino = irec->ir_startino + irec_ino;
-       fsino = XFS_AGINO_TO_INO(mp, bs->cur->bc_ag.agno, agino);
+       fsino = XFS_AGINO_TO_INO(mp, bs->cur->bc_ag.pag->pag_agno, agino);
        irec_free = (irec->ir_free & XFS_INOBT_MASK(irec_ino));
 
        if (be16_to_cpu(dip->di_magic) != XFS_DINODE_MAGIC ||
@@ -213,7 +214,7 @@ xchk_iallocbt_check_cluster(
        struct xfs_mount                *mp = bs->cur->bc_mp;
        struct xfs_buf                  *cluster_bp;
        unsigned int                    nr_inodes;
-       xfs_agnumber_t                  agno = bs->cur->bc_ag.agno;
+       xfs_agnumber_t                  agno = bs->cur->bc_ag.pag->pag_agno;
        xfs_agblock_t                   agbno;
        unsigned int                    cluster_index;
        uint16_t                        cluster_mask = 0;
@@ -423,7 +424,7 @@ xchk_iallocbt_rec(
        struct xchk_iallocbt            *iabt = bs->private;
        struct xfs_inobt_rec_incore     irec;
        uint64_t                        holes;
-       xfs_agnumber_t                  agno = bs->cur->bc_ag.agno;
+       xfs_agnumber_t                  agno = bs->cur->bc_ag.pag->pag_agno;
        xfs_agino_t                     agino;
        xfs_extlen_t                    len;
        int                             holecount;
index 744530a66c0ca917d1324533864b05d60ef8a9fc..7014b7408baddcc64c8c6bc50d629270f0fba59e 100644 (file)
@@ -13,6 +13,7 @@
 #include "scrub/scrub.h"
 #include "scrub/common.h"
 #include "scrub/btree.h"
+#include "xfs_ag.h"
 
 /*
  * Set us up to scrub reference count btrees.
@@ -333,7 +334,7 @@ xchk_refcountbt_rec(
 {
        struct xfs_mount        *mp = bs->cur->bc_mp;
        xfs_agblock_t           *cow_blocks = bs->private;
-       xfs_agnumber_t          agno = bs->cur->bc_ag.agno;
+       xfs_agnumber_t          agno = bs->cur->bc_ag.pag->pag_agno;
        xfs_agblock_t           bno;
        xfs_extlen_t            len;
        xfs_nlink_t             refcount;
index a4f17477c5d16dcfe55edadccb1c868d58ee66d4..fc306573f0ac3b8e41c9f775ea8c1bfad0de4286 100644 (file)
@@ -15,6 +15,7 @@
 #include "scrub/scrub.h"
 #include "scrub/common.h"
 #include "scrub/btree.h"
+#include "xfs_ag.h"
 
 /*
  * Set us up to scrub reverse mapping btrees.
@@ -91,7 +92,7 @@ xchk_rmapbt_rec(
 {
        struct xfs_mount        *mp = bs->cur->bc_mp;
        struct xfs_rmap_irec    irec;
-       xfs_agnumber_t          agno = bs->cur->bc_ag.agno;
+       xfs_agnumber_t          agno = bs->cur->bc_ag.pag->pag_agno;
        bool                    non_inode;
        bool                    is_unwritten;
        bool                    is_bmbt;
index 2c6c248be8239d0caa114575d48d2ded423ea7c2..03882a605a3ce1796815ffc0704e0335b41f668c 100644 (file)
@@ -13,6 +13,7 @@
 #include "xfs_inode.h"
 #include "xfs_btree.h"
 #include "scrub/scrub.h"
+#include "xfs_ag.h"
 
 /* Figure out which block the btree cursor was pointing to. */
 static inline xfs_fsblock_t
@@ -26,7 +27,7 @@ xchk_btree_cur_fsbno(
                 cur->bc_flags & XFS_BTREE_LONG_PTRS)
                return XFS_INO_TO_FSB(cur->bc_mp, cur->bc_ino.ip->i_ino);
        else if (!(cur->bc_flags & XFS_BTREE_LONG_PTRS))
-               return XFS_AGB_TO_FSB(cur->bc_mp, cur->bc_ag.agno, 0);
+               return XFS_AGB_TO_FSB(cur->bc_mp, cur->bc_ag.pag->pag_agno, 0);
        return NULLFSBLOCK;
 }
 
index 7501dd941a6310a3e09ff35515bef8a32d446b05..7d0b09c1366ea5370994de952fc1fac0e9dbd68b 100644 (file)
@@ -355,7 +355,7 @@ xfs_getfsmap_datadev_helper(
        xfs_fsblock_t                   fsb;
        xfs_daddr_t                     rec_daddr;
 
-       fsb = XFS_AGB_TO_FSB(mp, cur->bc_ag.agno, rec->rm_startblock);
+       fsb = XFS_AGB_TO_FSB(mp, cur->bc_ag.pag->pag_agno, rec->rm_startblock);
        rec_daddr = XFS_FSB_TO_DADDR(mp, fsb);
 
        return xfs_getfsmap_helper(cur->bc_tp, info, rec, rec_daddr);
@@ -373,7 +373,7 @@ xfs_getfsmap_datadev_bnobt_helper(
        struct xfs_rmap_irec            irec;
        xfs_daddr_t                     rec_daddr;
 
-       rec_daddr = XFS_AGB_TO_DADDR(mp, cur->bc_ag.agno,
+       rec_daddr = XFS_AGB_TO_DADDR(mp, cur->bc_ag.pag->pag_agno,
                        rec->ar_startblock);
 
        irec.rm_startblock = rec->ar_startblock;
index 808ae337b222b57e90d961f7f67236d75f1d53eb..5ba9c6396dcba97b9cafd42a8f42f7a6a8863081 100644 (file)
@@ -3730,7 +3730,7 @@ TRACE_EVENT(xfs_btree_commit_afakeroot,
        TP_fast_assign(
                __entry->dev = cur->bc_mp->m_super->s_dev;
                __entry->btnum = cur->bc_btnum;
-               __entry->agno = cur->bc_ag.agno;
+               __entry->agno = cur->bc_ag.pag->pag_agno;
                __entry->agbno = cur->bc_ag.afake->af_root;
                __entry->levels = cur->bc_ag.afake->af_levels;
                __entry->blocks = cur->bc_ag.afake->af_blocks;
@@ -3845,7 +3845,7 @@ TRACE_EVENT(xfs_btree_bload_block,
                        __entry->agno = XFS_FSB_TO_AGNO(cur->bc_mp, fsb);
                        __entry->agbno = XFS_FSB_TO_AGBNO(cur->bc_mp, fsb);
                } else {
-                       __entry->agno = cur->bc_ag.agno;
+                       __entry->agno = cur->bc_ag.pag->pag_agno;
                        __entry->agbno = be32_to_cpu(ptr->s);
                }
                __entry->nr_records = nr_records;