]> www.infradead.org Git - users/hch/xfsprogs.git/commit
xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t
authorDarrick J. Wong <djwong@kernel.org>
Mon, 30 Sep 2024 20:49:00 +0000 (13:49 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 9 Oct 2024 23:29:12 +0000 (16:29 -0700)
commitff9946b9898b7330f4b100b478e9f813fd739039
treea39d0e739f385f939bc8c10b6524e42da2d1d884
parent376a0f307707e20c03b17568fbff6bc831f0dca8
xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t

Now that we've finished adding allocation groups to the realtime volume,
let's make the file block mapping address (xfs_rtblock_t) a segmented
value just like we do on the data device.  This means that group number
and block number conversions can be done with shifting and masking
instead of integer division.

While in theory we could continue caching the rgno shift value in
m_rgblklog, the fact that we now always use the shift value means that
we have an opportunity to increase the redundancy of the rt geometry by
storing it in the ondisk superblock and adding more sb verifier code.
Reuse the space vacated by sb_bad_feature2 to store the rgblklog value.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
db/sb.c
include/xfs_mount.h
libxfs/xfs_bmap.c
libxfs/xfs_format.h
libxfs/xfs_rtbitmap.h
libxfs/xfs_rtgroup.h
libxfs/xfs_sb.c
libxfs/xfs_sb.h
libxfs/xfs_types.c
repair/sb.c