]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: remove XFS_BUF_TO_AGI
authorChristoph Hellwig <hch@lst.de>
Fri, 1 May 2020 21:37:08 +0000 (17:37 -0400)
committerEric Sandeen <sandeen@redhat.com>
Fri, 1 May 2020 21:37:08 +0000 (17:37 -0400)
Source kernel commit: 370c782b98436bb3f9d14a7394ab126cdbeac233

Just dereference bp->b_addr directly and make the code a little
simpler and more clear.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_ag.c
libxfs/xfs_format.h
libxfs/xfs_ialloc.c
libxfs/xfs_ialloc_btree.c
repair/phase3.c
repair/phase5.c
repair/scan.c

index 57f31e2f8d30c0a28c625108a9c08159bcfffb87..375eeeae7250789cfefff89665b65f2cf115075e 100644 (file)
@@ -312,7 +312,7 @@ xfs_agiblock_init(
        struct xfs_buf          *bp,
        struct aghdr_init_data  *id)
 {
-       struct xfs_agi          *agi = XFS_BUF_TO_AGI(bp);
+       struct xfs_agi          *agi = bp->b_addr;
        int                     bucket;
 
        agi->agi_magicnum = cpu_to_be32(XFS_AGI_MAGIC);
@@ -502,7 +502,7 @@ xfs_ag_extend_space(
        if (error)
                return error;
 
-       agi = XFS_BUF_TO_AGI(bp);
+       agi = bp->b_addr;
        be32_add_cpu(&agi->agi_length, len);
        ASSERT(id->agno == mp->m_sb.sb_agcount - 1 ||
               be32_to_cpu(agi->agi_length) == mp->m_sb.sb_agblocks);
@@ -569,7 +569,7 @@ xfs_ag_get_geometry(
        memset(ageo, 0, sizeof(*ageo));
        ageo->ag_number = agno;
 
-       agi = XFS_BUF_TO_AGI(agi_bp);
+       agi = agi_bp->b_addr;
        ageo->ag_icount = be32_to_cpu(agi->agi_count);
        ageo->ag_ifree = be32_to_cpu(agi->agi_freecount);
 
index 32b1651de9c7a0eb5791646493bdcadd02df1d25..dbcd8b27168beecbb8c362918c313e4da31907e7 100644 (file)
@@ -775,7 +775,6 @@ typedef struct xfs_agi {
 /* disk block (xfs_daddr_t) in the AG */
 #define XFS_AGI_DADDR(mp)      ((xfs_daddr_t)(2 << (mp)->m_sectbb_log))
 #define        XFS_AGI_BLOCK(mp)       XFS_HDR_BLOCK(mp, XFS_AGI_DADDR(mp))
-#define        XFS_BUF_TO_AGI(bp)      ((xfs_agi_t *)((bp)->b_addr))
 
 /*
  * The third a.g. block contains the a.g. freelist, an array
index 00b3326371568caa772038e2085403d99aab1235..4906e89b0ede9e7080687efa1f017a1fa0fcfe8e 100644 (file)
@@ -172,7 +172,7 @@ xfs_inobt_insert(
        xfs_btnum_t             btnum)
 {
        struct xfs_btree_cur    *cur;
-       struct xfs_agi          *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi          *agi = agbp->b_addr;
        xfs_agnumber_t          agno = be32_to_cpu(agi->agi_seqno);
        xfs_agino_t             thisino;
        int                     i;
@@ -520,7 +520,7 @@ xfs_inobt_insert_sprec(
        bool                            merge)  /* merge or replace */
 {
        struct xfs_btree_cur            *cur;
-       struct xfs_agi                  *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi                  *agi = agbp->b_addr;
        xfs_agnumber_t                  agno = be32_to_cpu(agi->agi_seqno);
        int                             error;
        int                             i;
@@ -653,7 +653,7 @@ xfs_ialloc_ag_alloc(
         * chunk of inodes.  If the filesystem is striped, this will fill
         * an entire stripe unit with inodes.
         */
-       agi = XFS_BUF_TO_AGI(agbp);
+       agi = agbp->b_addr;
        newino = be32_to_cpu(agi->agi_newino);
        agno = be32_to_cpu(agi->agi_seqno);
        args.agbno = XFS_AGINO_TO_AGBNO(args.mp, newino) +
@@ -1125,7 +1125,7 @@ xfs_dialloc_ag_inobt(
        xfs_ino_t               *inop)
 {
        struct xfs_mount        *mp = tp->t_mountp;
-       struct xfs_agi          *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi          *agi = agbp->b_addr;
        xfs_agnumber_t          agno = be32_to_cpu(agi->agi_seqno);
        xfs_agnumber_t          pagno = XFS_INO_TO_AGNO(mp, parent);
        xfs_agino_t             pagino = XFS_INO_TO_AGINO(mp, parent);
@@ -1578,7 +1578,7 @@ xfs_dialloc_ag(
        xfs_ino_t               *inop)
 {
        struct xfs_mount                *mp = tp->t_mountp;
-       struct xfs_agi                  *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi                  *agi = agbp->b_addr;
        xfs_agnumber_t                  agno = be32_to_cpu(agi->agi_seqno);
        xfs_agnumber_t                  pagno = XFS_INO_TO_AGNO(mp, parent);
        xfs_agino_t                     pagino = XFS_INO_TO_AGINO(mp, parent);
@@ -1938,7 +1938,7 @@ xfs_difree_inobt(
        struct xfs_icluster             *xic,
        struct xfs_inobt_rec_incore     *orec)
 {
-       struct xfs_agi                  *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi                  *agi = agbp->b_addr;
        xfs_agnumber_t                  agno = be32_to_cpu(agi->agi_seqno);
        struct xfs_perag                *pag;
        struct xfs_btree_cur            *cur;
@@ -2074,7 +2074,7 @@ xfs_difree_finobt(
        xfs_agino_t                     agino,
        struct xfs_inobt_rec_incore     *ibtrec) /* inobt record */
 {
-       struct xfs_agi                  *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi                  *agi = agbp->b_addr;
        xfs_agnumber_t                  agno = be32_to_cpu(agi->agi_seqno);
        struct xfs_btree_cur            *cur;
        struct xfs_inobt_rec_incore     rec;
@@ -2484,9 +2484,8 @@ xfs_ialloc_log_agi(
                sizeof(xfs_agi_t)
        };
 #ifdef DEBUG
-       xfs_agi_t               *agi;   /* allocation group header */
+       struct xfs_agi          *agi = bp->b_addr;
 
-       agi = XFS_BUF_TO_AGI(bp);
        ASSERT(agi->agi_magicnum == cpu_to_be32(XFS_AGI_MAGIC));
 #endif
 
@@ -2518,14 +2517,13 @@ xfs_agi_verify(
        struct xfs_buf  *bp)
 {
        struct xfs_mount *mp = bp->b_mount;
-       struct xfs_agi  *agi = XFS_BUF_TO_AGI(bp);
+       struct xfs_agi  *agi = bp->b_addr;
        int             i;
 
        if (xfs_sb_version_hascrc(&mp->m_sb)) {
                if (!uuid_equal(&agi->agi_uuid, &mp->m_sb.sb_meta_uuid))
                        return __this_address;
-               if (!xfs_log_check_lsn(mp,
-                               be64_to_cpu(XFS_BUF_TO_AGI(bp)->agi_lsn)))
+               if (!xfs_log_check_lsn(mp, be64_to_cpu(agi->agi_lsn)))
                        return __this_address;
        }
 
@@ -2588,6 +2586,7 @@ xfs_agi_write_verify(
 {
        struct xfs_mount        *mp = bp->b_mount;
        struct xfs_buf_log_item *bip = bp->b_log_item;
+       struct xfs_agi          *agi = bp->b_addr;
        xfs_failaddr_t          fa;
 
        fa = xfs_agi_verify(bp);
@@ -2600,7 +2599,7 @@ xfs_agi_write_verify(
                return;
 
        if (bip)
-               XFS_BUF_TO_AGI(bp)->agi_lsn = cpu_to_be64(bip->bli_item.li_lsn);
+               agi->agi_lsn = cpu_to_be64(bip->bli_item.li_lsn);
        xfs_buf_update_cksum(bp, XFS_AGI_CRC_OFF);
 }
 
@@ -2656,7 +2655,7 @@ xfs_ialloc_read_agi(
        if (error)
                return error;
 
-       agi = XFS_BUF_TO_AGI(*bpp);
+       agi = (*bpp)->b_addr;
        pag = xfs_perag_get(mp, agno);
        if (!pag->pagi_init) {
                pag->pagi_freecount = be32_to_cpu(agi->agi_freecount);
index 948b02ee4462f0a384218f982e937f5aca2f71b3..79c5721beaa555d3c301f6c562cb23999d1a0c06 100644 (file)
@@ -44,7 +44,7 @@ xfs_inobt_set_root(
        int                     inc)    /* level change */
 {
        struct xfs_buf          *agbp = cur->bc_private.a.agbp;
-       struct xfs_agi          *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi          *agi = agbp->b_addr;
 
        agi->agi_root = nptr->s;
        be32_add_cpu(&agi->agi_level, inc);
@@ -58,7 +58,7 @@ xfs_finobt_set_root(
        int                     inc)    /* level change */
 {
        struct xfs_buf          *agbp = cur->bc_private.a.agbp;
-       struct xfs_agi          *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi          *agi = agbp->b_addr;
 
        agi->agi_free_root = nptr->s;
        be32_add_cpu(&agi->agi_free_level, inc);
@@ -211,7 +211,7 @@ xfs_inobt_init_ptr_from_cur(
        struct xfs_btree_cur    *cur,
        union xfs_btree_ptr     *ptr)
 {
-       struct xfs_agi          *agi = XFS_BUF_TO_AGI(cur->bc_private.a.agbp);
+       struct xfs_agi          *agi = cur->bc_private.a.agbp->b_addr;
 
        ASSERT(cur->bc_private.a.agno == be32_to_cpu(agi->agi_seqno));
 
@@ -223,7 +223,7 @@ xfs_finobt_init_ptr_from_cur(
        struct xfs_btree_cur    *cur,
        union xfs_btree_ptr     *ptr)
 {
-       struct xfs_agi          *agi = XFS_BUF_TO_AGI(cur->bc_private.a.agbp);
+       struct xfs_agi          *agi = cur->bc_private.a.agbp->b_addr;
 
        ASSERT(cur->bc_private.a.agno == be32_to_cpu(agi->agi_seqno));
        ptr->s = agi->agi_free_root;
@@ -409,7 +409,7 @@ xfs_inobt_init_cursor(
        xfs_agnumber_t          agno,           /* allocation group number */
        xfs_btnum_t             btnum)          /* ialloc or free ino btree */
 {
-       struct xfs_agi          *agi = XFS_BUF_TO_AGI(agbp);
+       struct xfs_agi          *agi = agbp->b_addr;
        struct xfs_btree_cur    *cur;
 
        cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_NOFS);
index d30a698ef1acb3c568a2192b7f6d9020bebd1d53..ca4dbee47434c8032191a25cf40cf205d4a72bf7 100644 (file)
@@ -37,7 +37,7 @@ process_agi_unlinked(
                do_error(_("cannot read agi block %" PRId64 " for ag %u\n"),
                        XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), agno);
 
-       agip = XFS_BUF_TO_AGI(bp);
+       agip = bp->b_addr;
 
        ASSERT(be32_to_cpu(agip->agi_seqno) == agno);
 
index f219c026ffeaedf5a84dc9a121d688aea8c60d86..6b4e8d303da7d8578b7c4480e987e768a2429a0e 100644 (file)
@@ -1136,7 +1136,7 @@ build_agi(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *btree_curs,
                do_error(_("Cannot grab AG %u AGI buffer, err=%d"),
                                agno, error);
        agi_buf->b_ops = &xfs_agi_buf_ops;
-       agi = XFS_BUF_TO_AGI(agi_buf);
+       agi = agi_buf->b_addr;
        memset(agi, 0, mp->m_sb.sb_sectsize);
 
        agi->agi_magicnum = cpu_to_be32(XFS_AGI_MAGIC);
index 33a8476e6f36e664908e4b8253bf3b0117eb5eb9..32937ada78d6529900921063319f29d60c73bb86 100644 (file)
@@ -2393,7 +2393,7 @@ scan_ag(
                objname = _("agi block");
                goto out_free_agfbuf;
        }
-       agi = XFS_BUF_TO_AGI(agibuf);
+       agi = agibuf->b_addr;
 
        /* fix up bad ag headers */