[PATCHSET 01/10] xfsprogs: convert utilities to use new rt helpers

Darrick J. Wong
2024-03-13T01:47:19Z

Hi all,

The patches in this series clean up a lot of realtime space usage code
the userspace utilities. This involves correcting incorrect type usage,
renaming variables to reflect their actual usage; and converting open
code logic to use the new helpers that were just added to libxfs.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems. Enjoy!
Comments and questions are, as always, welcome.

--D

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=fix-realtime-units
---
Commits in this patchset:
* libxfs: fix incorrect porting to 6.7
* mkfs: fix log sunit rounding when external logs are in use
* xfs_repair: fix confusing rt space units in the duplicate detection code
* libxfs: create a helper to compute leftovers of realtime extents
* libxfs: use helpers to convert rt block numbers to rt extent numbers
* xfs_repair: convert utility to use new rt extent helpers and types
* mkfs: convert utility to use new rt extent helpers and types
* xfs_{db,repair}: convert open-coded xfs_rtword_t pointer accesses to helper
* xfs_repair: convert helpers for rtbitmap block/wordcount computations
* xfs_{db,repair}: use accessor functions for bitmap words
* xfs_{db,repair}: use helpers for rtsummary block/wordcount computations
* xfs_{db,repair}: use accessor functions for summary info words
* xfs_{db,repair}: use m_blockwsize instead of sb_blocksize for rt blocks
---
db/check.c | 90 ++++++++++++++++++++++++++++++++++++----------
include/libxfs.h | 4 ++
libxfs/Makefile | 1 +
libxfs/init.c | 8 ++--
libxfs/libxfs_api_defs.h | 8 ++++
libxfs/logitem.c | 3 +-
libxfs/trans.c | 3 +-
libxfs/xfs_rtbitmap.c | 2 +
libxfs/xfs_rtbitmap.h | 3 --
mkfs/proto.c | 41 ++++++++++++++-------
mkfs/xfs_mkfs.c | 16 ++++++--
repair/agheader.h | 2 +
repair/dinode.c | 21 ++++++-----
repair/globals.c | 4 +-
repair/globals.h | 4 +-
repair/incore.c | 16 ++++----
repair/incore.h | 15 +++-----
repair/incore_ext.c | 74 ++++++++++++++++++++------------------
repair/phase4.c | 16 ++++----
repair/phase6.c | 28 +++++++++++---
repair/rt.c | 64 ++++++++++++++++++++++-----------
repair/rt.h | 6 +--
repair/scan.c | 2 +
23 files changed, 278 insertions(+), 153 deletions(-)