xfs: remove XFS_BUF_TO_SBP
authorChristoph Hellwig <hch@lst.de>
Tue, 10 Mar 2020 15:57:30 +0000 (08:57 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 11 Mar 2020 16:11:39 +0000 (09:11 -0700)
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: Brian Foster <bfoster@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/libxfs/xfs_ag.c
fs/xfs/libxfs/xfs_format.h
fs/xfs/libxfs/xfs_sb.c
fs/xfs/scrub/agheader.c
fs/xfs/scrub/agheader_repair.c
fs/xfs/xfs_log_recover.c
fs/xfs/xfs_mount.c
fs/xfs/xfs_trans.c

index 5522dfc..9d84007 100644 (file)
@@ -231,7 +231,7 @@ xfs_sbblock_init(
        struct xfs_buf          *bp,
        struct aghdr_init_data  *id)
 {
-       struct xfs_dsb          *dsb = XFS_BUF_TO_SBP(bp);
+       struct xfs_dsb          *dsb = bp->b_addr;
 
        xfs_sb_to_disk(dsb, &mp->m_sb);
        dsb->sb_inprogress = 1;
index f91a2c7..cd814f9 100644 (file)
@@ -560,7 +560,6 @@ xfs_is_quota_inode(struct xfs_sb *sbp, xfs_ino_t ino)
 
 #define XFS_SB_DADDR           ((xfs_daddr_t)0) /* daddr in filesystem/ag */
 #define        XFS_SB_BLOCK(mp)        XFS_HDR_BLOCK(mp, XFS_SB_DADDR)
-#define XFS_BUF_TO_SBP(bp)     ((xfs_dsb_t *)((bp)->b_addr))
 
 #define        XFS_HDR_BLOCK(mp,d)     ((xfs_agblock_t)XFS_BB_TO_FSBT(mp,d))
 #define        XFS_DADDR_TO_FSB(mp,d)  XFS_AGB_TO_FSB(mp, \
index 2f60fc3..00266de 100644 (file)
@@ -220,7 +220,7 @@ xfs_validate_sb_common(
        struct xfs_buf          *bp,
        struct xfs_sb           *sbp)
 {
-       struct xfs_dsb          *dsb = XFS_BUF_TO_SBP(bp);
+       struct xfs_dsb          *dsb = bp->b_addr;
        uint32_t                agcount = 0;
        uint32_t                rem;
 
@@ -681,7 +681,7 @@ xfs_sb_read_verify(
 {
        struct xfs_sb           sb;
        struct xfs_mount        *mp = bp->b_mount;
-       struct xfs_dsb          *dsb = XFS_BUF_TO_SBP(bp);
+       struct xfs_dsb          *dsb = bp->b_addr;
        int                     error;
 
        /*
@@ -707,7 +707,7 @@ xfs_sb_read_verify(
         * Check all the superblock fields.  Don't byteswap the xquota flags
         * because _verify_common checks the on-disk values.
         */
-       __xfs_sb_from_disk(&sb, XFS_BUF_TO_SBP(bp), false);
+       __xfs_sb_from_disk(&sb, dsb, false);
        error = xfs_validate_sb_common(mp, bp, &sb);
        if (error)
                goto out_error;
@@ -730,7 +730,7 @@ static void
 xfs_sb_quiet_read_verify(
        struct xfs_buf  *bp)
 {
-       struct xfs_dsb  *dsb = XFS_BUF_TO_SBP(bp);
+       struct xfs_dsb  *dsb = bp->b_addr;
 
        if (dsb->sb_magicnum == cpu_to_be32(XFS_SB_MAGIC)) {
                /* XFS filesystem, verify noisily! */
@@ -748,13 +748,14 @@ xfs_sb_write_verify(
        struct xfs_sb           sb;
        struct xfs_mount        *mp = bp->b_mount;
        struct xfs_buf_log_item *bip = bp->b_log_item;
+       struct xfs_dsb          *dsb = bp->b_addr;
        int                     error;
 
        /*
         * Check all the superblock fields.  Don't byteswap the xquota flags
         * because _verify_common checks the on-disk values.
         */
-       __xfs_sb_from_disk(&sb, XFS_BUF_TO_SBP(bp), false);
+       __xfs_sb_from_disk(&sb, dsb, false);
        error = xfs_validate_sb_common(mp, bp, &sb);
        if (error)
                goto out_error;
@@ -766,7 +767,7 @@ xfs_sb_write_verify(
                return;
 
        if (bip)
-               XFS_BUF_TO_SBP(bp)->sb_lsn = cpu_to_be64(bip->bli_item.li_lsn);
+               dsb->sb_lsn = cpu_to_be64(bip->bli_item.li_lsn);
 
        xfs_buf_update_cksum(bp, XFS_SB_CRC_OFF);
        return;
@@ -927,7 +928,7 @@ xfs_log_sb(
        mp->m_sb.sb_ifree = percpu_counter_sum(&mp->m_ifree);
        mp->m_sb.sb_fdblocks = percpu_counter_sum(&mp->m_fdblocks);
 
-       xfs_sb_to_disk(XFS_BUF_TO_SBP(bp), &mp->m_sb);
+       xfs_sb_to_disk(bp->b_addr, &mp->m_sb);
        xfs_trans_buf_set_type(tp, bp, XFS_BLFT_SB_BUF);
        xfs_trans_log_buf(tp, bp, 0, sizeof(struct xfs_dsb) - 1);
 }
@@ -1007,7 +1008,7 @@ xfs_update_secondary_sbs(
                bp->b_ops = &xfs_sb_buf_ops;
                xfs_buf_oneshot(bp);
                xfs_buf_zero(bp, 0, BBTOB(bp->b_length));
-               xfs_sb_to_disk(XFS_BUF_TO_SBP(bp), &mp->m_sb);
+               xfs_sb_to_disk(bp->b_addr, &mp->m_sb);
                xfs_buf_delwri_queue(bp, &buffer_list);
                xfs_buf_relse(bp);
 
index 1634788..e9bcf1f 100644 (file)
@@ -92,7 +92,7 @@ xchk_superblock(
        if (!xchk_process_error(sc, agno, XFS_SB_BLOCK(mp), &error))
                return error;
 
-       sb = XFS_BUF_TO_SBP(bp);
+       sb = bp->b_addr;
 
        /*
         * Verify the geometries match.  Fields that are permanently
index ce4adfa..9b3954d 100644 (file)
@@ -49,7 +49,7 @@ xrep_superblock(
 
        /* Copy AG 0's superblock to this one. */
        xfs_buf_zero(bp, 0, BBTOB(bp->b_length));
-       xfs_sb_to_disk(XFS_BUF_TO_SBP(bp), &mp->m_sb);
+       xfs_sb_to_disk(bp->b_addr, &mp->m_sb);
 
        /* Write this to disk. */
        xfs_trans_buf_set_type(sc->tp, bp, XFS_BLFT_SB_BUF);
index b6cf99f..6abc086 100644 (file)
@@ -5636,7 +5636,7 @@ xlog_do_recover(
 
        /* Convert superblock from on-disk format */
        sbp = &mp->m_sb;
-       xfs_sb_from_disk(sbp, XFS_BUF_TO_SBP(bp));
+       xfs_sb_from_disk(sbp, bp->b_addr);
        xfs_buf_relse(bp);
 
        /* re-initialise in-core superblock and geometry structures */
index 56efe14..c5513e5 100644 (file)
@@ -310,7 +310,7 @@ reread:
        /*
         * Initialize the mount structure from the superblock.
         */
-       xfs_sb_from_disk(sbp, XFS_BUF_TO_SBP(bp));
+       xfs_sb_from_disk(sbp, bp->b_addr);
 
        /*
         * If we haven't validated the superblock, do so now before we try
index 3b208f9..73c5340 100644 (file)
@@ -450,7 +450,7 @@ xfs_trans_apply_sb_deltas(
        int             whole = 0;
 
        bp = xfs_trans_getsb(tp, tp->t_mountp);
-       sbp = XFS_BUF_TO_SBP(bp);
+       sbp = bp->b_addr;
 
        /*
         * Check that superblock mods match the mods made to AGF counters.