xfs: online repair of rt bitmap file [v28.3]

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.
 
 This has been running on the djcloud for months with no problems.  Enjoy!
 
 Signed-off-by: Darrick J. Wong <djwong@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ2qTKExjcn+O1o2YRKO3ySh0YRpgUCZXzKAwAKCRBKO3ySh0YR
 pilcAP9Zuwcc01Wsll9bWHEOLVPmZbGkatLQfq3kx1f0AjIJ2gEArPaKRfNNwLdY
 lxCgSdJbCFBKW1oQR+k+W07Om7d3Zww=
 =B5sk
 -----END PGP SIGNATURE-----

Merge tag 'repair-rtbitmap-6.8_2023-12-15' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.8-mergeB

xfs: online repair of rt bitmap file

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.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>

* tag 'repair-rtbitmap-6.8_2023-12-15' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux:
  xfs: online repair of realtime bitmaps
  xfs: create a new inode fork block unmap helper
  xfs: repair the inode core and forks of a metadata inode
  xfs: always check the rtbitmap and rtsummary files
  xfs: check rt summary file geometry more thoroughly
  xfs: check rt bitmap file geometry more thoroughly
This commit is contained in:
Chandan Babu R 2023-12-16 08:50:01 +05:30
commit 5bb4ad95c1
12 changed files with 647 additions and 74 deletions