Just dereference bp->b_addr directly and make the code a little simpler and more clear. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- fs/xfs/libxfs/xfs_ag.c | 2 +- fs/xfs/libxfs/xfs_alloc.c | 7 ++++--- fs/xfs/libxfs/xfs_format.h | 1 - fs/xfs/scrub/agheader_repair.c | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/fs/xfs/libxfs/xfs_ag.c b/fs/xfs/libxfs/xfs_ag.c index 831bdd035900..32ceba66456f 100644 --- a/fs/xfs/libxfs/xfs_ag.c +++ b/fs/xfs/libxfs/xfs_ag.c @@ -291,7 +291,7 @@ xfs_agflblock_init( struct xfs_buf *bp, struct aghdr_init_data *id) { - struct xfs_agfl *agfl = XFS_BUF_TO_AGFL(bp); + struct xfs_agfl *agfl = bp->b_addr; __be32 *agfl_bno; int bucket; diff --git a/fs/xfs/libxfs/xfs_alloc.c b/fs/xfs/libxfs/xfs_alloc.c index b95a688e9f87..2006a49ea95f 100644 --- a/fs/xfs/libxfs/xfs_alloc.c +++ b/fs/xfs/libxfs/xfs_alloc.c @@ -588,7 +588,7 @@ xfs_agfl_verify( struct xfs_buf *bp) { struct xfs_mount *mp = bp->b_mount; - struct xfs_agfl *agfl = XFS_BUF_TO_AGFL(bp); + struct xfs_agfl *agfl = bp->b_addr; __be32 *agfl_bno = xfs_buf_to_agfl_bno(bp); int i; @@ -620,7 +620,7 @@ xfs_agfl_verify( return __this_address; } - if (!xfs_log_check_lsn(mp, be64_to_cpu(XFS_BUF_TO_AGFL(bp)->agfl_lsn))) + if (!xfs_log_check_lsn(mp, be64_to_cpu(agfl->agfl_lsn))) return __this_address; return NULL; } @@ -656,6 +656,7 @@ xfs_agfl_write_verify( { struct xfs_mount *mp = bp->b_mount; struct xfs_buf_log_item *bip = bp->b_log_item; + struct xfs_agfl *agfl = bp->b_addr; xfs_failaddr_t fa; /* no verification of non-crc AGFLs */ @@ -669,7 +670,7 @@ xfs_agfl_write_verify( } if (bip) - XFS_BUF_TO_AGFL(bp)->agfl_lsn = cpu_to_be64(bip->bli_item.li_lsn); + agfl->agfl_lsn = cpu_to_be64(bip->bli_item.li_lsn); xfs_buf_update_cksum(bp, XFS_AGFL_CRC_OFF); } diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h index 11a450e00231..fe685ad91e0f 100644 --- a/fs/xfs/libxfs/xfs_format.h +++ b/fs/xfs/libxfs/xfs_format.h @@ -783,7 +783,6 @@ typedef struct xfs_agi { */ #define XFS_AGFL_DADDR(mp) ((xfs_daddr_t)(3 << (mp)->m_sectbb_log)) #define XFS_AGFL_BLOCK(mp) XFS_HDR_BLOCK(mp, XFS_AGFL_DADDR(mp)) -#define XFS_BUF_TO_AGFL(bp) ((struct xfs_agfl *)((bp)->b_addr)) struct xfs_agfl { __be32 agfl_magicnum; diff --git a/fs/xfs/scrub/agheader_repair.c b/fs/xfs/scrub/agheader_repair.c index 68ee1ce1ae36..6da2e87d19a8 100644 --- a/fs/xfs/scrub/agheader_repair.c +++ b/fs/xfs/scrub/agheader_repair.c @@ -580,7 +580,7 @@ xrep_agfl_init_header( __be32 *agfl_bno; struct xfs_bitmap_range *br; struct xfs_bitmap_range *n; - struct xfs_agfl *agfl; + struct xfs_agfl *agfl = agfl_bp->b_addr; xfs_agblock_t agbno; unsigned int fl_off; @@ -590,7 +590,6 @@ xrep_agfl_init_header( * Start rewriting the header by setting the bno[] array to * NULLAGBLOCK, then setting AGFL header fields. */ - agfl = XFS_BUF_TO_AGFL(agfl_bp); memset(agfl, 0xFF, BBTOB(agfl_bp->b_length)); agfl->agfl_magicnum = cpu_to_be32(XFS_AGFL_MAGIC); agfl->agfl_seqno = cpu_to_be32(sc->sa.agno); -- 2.24.1