diff options
author | Darrick J. Wong <djwong@kernel.org> | 2023-10-16 19:47:34 +0300 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2023-10-18 03:45:38 +0300 |
commit | 097b4b7b64ef67a4703b89fd4064480b61557fd5 (patch) | |
tree | ef89174ec6a976be4b31c180ffdab24809ac71ed /fs/xfs/scrub | |
parent | a9948626849c2c65dfd201b5e9d855e62937de61 (diff) | |
download | linux-097b4b7b64ef67a4703b89fd4064480b61557fd5.tar.xz |
xfs: convert rt summary macros to helpers
Convert the realtime summary file macros to helper functions so that we
can improve type checking.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/scrub')
-rw-r--r-- | fs/xfs/scrub/rtsummary.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/xfs/scrub/rtsummary.c b/fs/xfs/scrub/rtsummary.c index 169b7b0dcaa5..3c8a6cc33800 100644 --- a/fs/xfs/scrub/rtsummary.c +++ b/fs/xfs/scrub/rtsummary.c @@ -81,7 +81,7 @@ typedef unsigned int xchk_rtsumoff_t; static inline int xfsum_load( struct xfs_scrub *sc, - xchk_rtsumoff_t sumoff, + xfs_rtsumoff_t sumoff, xfs_suminfo_t *info) { return xfile_obj_load(sc->xfile, info, sizeof(xfs_suminfo_t), @@ -91,7 +91,7 @@ xfsum_load( static inline int xfsum_store( struct xfs_scrub *sc, - xchk_rtsumoff_t sumoff, + xfs_rtsumoff_t sumoff, const xfs_suminfo_t info) { return xfile_obj_store(sc->xfile, &info, sizeof(xfs_suminfo_t), @@ -101,7 +101,7 @@ xfsum_store( static inline int xfsum_copyout( struct xfs_scrub *sc, - xchk_rtsumoff_t sumoff, + xfs_rtsumoff_t sumoff, xfs_suminfo_t *info, unsigned int nr_words) { @@ -121,7 +121,7 @@ xchk_rtsum_record_free( xfs_fileoff_t rbmoff; xfs_rtblock_t rtbno; xfs_filblks_t rtlen; - xchk_rtsumoff_t offs; + xfs_rtsumoff_t offs; unsigned int lenlog; xfs_suminfo_t v = 0; int error = 0; @@ -132,7 +132,7 @@ xchk_rtsum_record_free( /* Compute the relevant location in the rtsum file. */ rbmoff = xfs_rtx_to_rbmblock(mp, rec->ar_startext); lenlog = XFS_RTBLOCKLOG(rec->ar_extcount); - offs = XFS_SUMOFFS(mp, lenlog, rbmoff); + offs = xfs_rtsumoffs(mp, lenlog, rbmoff); rtbno = xfs_rtx_to_rtb(mp, rec->ar_startext); rtlen = xfs_rtx_to_rtb(mp, rec->ar_extcount); @@ -185,6 +185,7 @@ xchk_rtsum_compare( int nmap; for (off = 0; off < XFS_B_TO_FSB(mp, mp->m_rsumsize); off++) { + xfs_suminfo_t *ondisk_info; int error = 0; if (xchk_should_terminate(sc, &error)) @@ -216,7 +217,8 @@ xchk_rtsum_compare( return error; } - if (memcmp(bp->b_addr, sc->buf, + ondisk_info = xfs_rsumblock_infoptr(bp, 0); + if (memcmp(ondisk_info, sc->buf, mp->m_blockwsize << XFS_WORDLOG) != 0) xchk_fblock_set_corrupt(sc, XFS_DATA_FORK, off); |