Hi all, In preparation for adding block headers and enforcing endian order in rtbitmap and rtsummary blocks, replace open-coded geometry computations and fugly macros with proper helper functions that can be typechecked. Soon we'll be needing to add more complex logic to the helpers. If you're going to start using this mess, you probably ought to just pull from my git trees, which are linked below. This is an extraordinary way to destroy everything. Enjoy! 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=refactor-rtbitmap-macros xfsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=refactor-rtbitmap-macros --- db/check.c | 63 ++++++++--- libxfs/init.c | 8 + libxfs/libxfs_api_defs.h | 8 + libxfs/xfs_format.h | 32 +++-- libxfs/xfs_rtbitmap.c | 268 +++++++++++++++++++++++++++++++++------------- libxfs/xfs_rtbitmap.h | 133 +++++++++++++++++++++++ libxfs/xfs_trans_resv.c | 9 +- libxfs/xfs_types.h | 2 repair/globals.c | 4 - repair/globals.h | 4 - repair/phase6.c | 14 +- repair/rt.c | 43 ++++--- repair/rt.h | 6 - 13 files changed, 443 insertions(+), 151 deletions(-)