[PATCHSET v28.0 0/6] xfs: online repair of rt bitmap file

Darrick J. Wong
2023-11-24T23:46:23Z

Hi all,

Add in the necessary infrastructure to check the inode and data forks of
metadata files, then apply that to the realtime bitmap file. We won't
be able to reconstruct the contents of the rtbitmap file until rmapbt is
added for realtime volumes, but we can at least get the basics started.

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

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=repair-rtbitmap

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=repair-rtbitmap
---
fs/xfs/Makefile | 4 +
fs/xfs/libxfs/xfs_bmap.c | 39 ++++++++
fs/xfs/libxfs/xfs_bmap.h | 2
fs/xfs/scrub/bmap_repair.c | 17 +++
fs/xfs/scrub/repair.c | 151 ++++++++++++++++++++++++++++++
fs/xfs/scrub/repair.h | 9 ++
fs/xfs/scrub/rtbitmap.c | 101 +++++++++++++++++---
fs/xfs/scrub/rtbitmap.h | 22 ++++
fs/xfs/scrub/rtbitmap_repair.c | 202 ++++++++++++++++++++++++++++++++++++++++
fs/xfs/scrub/rtsummary.c | 132 +++++++++++++++++++++-----
fs/xfs/scrub/scrub.c | 4 -
fs/xfs/xfs_inode.c | 24 +----
12 files changed, 637 insertions(+), 70 deletions(-)
create mode 100644 fs/xfs/scrub/rtbitmap.h
create mode 100644 fs/xfs/scrub/rtbitmap_repair.c