[PATCHSET v24.0 0/3] xfs: rework online fsck incore bitmap

Darrick J. Wong
2022-12-30T22:28:04Z

Hi all,

In this series, we make some changes to the incore bitmap code: First,
we shorten the prefix to 'xbitmap'. Then, we rework some utility
functions for later use by online repair and clarify how the walk
functions are supposed to be used.

Finally, we use all these new pieces to convert the incore bitmap to use
an interval tree instead of linked lists. This lifts the limitation
that callers had to be careful not to set a range that was already set;
and gets us ready for the btree rebuilder functions needing to be able
to set bits in a bitmap and generate maximal contiguous extents for the
set ranges.

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=repair-bitmap-rework
---
fs/xfs/scrub/agheader_repair.c | 99 ++++++-----
fs/xfs/scrub/bitmap.c | 367 +++++++++++++++++++++++++---------------
fs/xfs/scrub/bitmap.h | 33 ++--
fs/xfs/scrub/repair.c | 104 ++++++-----
4 files changed, 358 insertions(+), 245 deletions(-)