Hi all, The realtime code uses xfs_rtblock_t and xfs_fsblock_t in a lot of places, and it's very confusing. Clean up all the type usage so that an xfs_rtblock_t is always a block within the realtime volume, an xfs_fileoff_t is always a file offset within a realtime metadata file, and an xfs_rtxnumber_t is always a rt extent within the realtime volume. v1.1: various cleanups suggested by hch If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. With a bit of luck, this should all go splendidly. Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=clean-up-realtime-units-6.7 --- fs/xfs/libxfs/xfs_bmap.c | 8 + fs/xfs/libxfs/xfs_format.h | 2 fs/xfs/libxfs/xfs_rtbitmap.c | 121 ++++++++++---------- fs/xfs/libxfs/xfs_rtbitmap.h | 79 +++++++++++++ fs/xfs/libxfs/xfs_types.c | 4 - fs/xfs/libxfs/xfs_types.h | 8 + fs/xfs/scrub/bmap.c | 2 fs/xfs/scrub/fscounters.c | 2 fs/xfs/scrub/rtbitmap.c | 12 +- fs/xfs/scrub/rtsummary.c | 4 - fs/xfs/scrub/trace.h | 7 + fs/xfs/xfs_bmap_util.c | 18 +-- fs/xfs/xfs_fsmap.c | 2 fs/xfs/xfs_rtalloc.c | 248 +++++++++++++++++++++++------------------- fs/xfs/xfs_rtalloc.h | 89 +-------------- 15 files changed, 319 insertions(+), 287 deletions(-) create mode 100644 fs/xfs/libxfs/xfs_rtbitmap.h