mbox series

[GIT,PULL,19/22] xfs: rework online fsck incore bitmap

Message ID 168127095543.417736.17628317256060611866.stg-ugh@frogsfrogsfrogs (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL,1/22] xfs: design documentation for online fsck | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/repair-bitmap-rework-6.4_2023-04-11

Message

Darrick J. Wong April 12, 2023, 3:49 a.m. UTC
Hi Dave,

Please pull this branch with changes for xfs.

As usual, I did a test-merge with the main upstream branch as of a few
minutes ago, and didn't see any conflicts.  Please let me know if you
encounter any problems.

--D

The following changes since commit 44af6c7e59b12d740809cf25a60c9f90f03e6d20:

xfs: don't load local xattr values during scrub (2023-04-11 19:00:35 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/repair-bitmap-rework-6.4_2023-04-11

for you to fetch changes up to 6772fcc8890ae34595253fcfb8196c1aea65e111:

xfs: convert xbitmap to interval tree (2023-04-11 19:00:36 -0700)

----------------------------------------------------------------
xfs: rework online fsck incore bitmap [v24.5]

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.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>

----------------------------------------------------------------
Darrick J. Wong (3):
xfs: remove the for_each_xbitmap_ helpers
xfs: drop the _safe behavior from the xbitmap foreach macro
xfs: convert xbitmap to interval tree

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(-)