diff options
author | Darrick J. Wong <djwong@kernel.org> | 2022-08-19 11:28:42 -0700 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2022-11-09 19:07:29 -0800 |
commit | 82a4c586d6889700fd8f02722451fe4d1e7b7ede (patch) | |
tree | a6a2ae57870ae5eba7b8d162aa168025cdce6ab9 /fs/xfs/scrub/rtbitmap.c | |
parent | 59199afd0c6bc9f0ecb349698f46ccbf2d3c0063 (diff) |
xfs: online repair of realtime bitmaps
Rebuild the realtime bitmap from the realtime rmap btree.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Diffstat (limited to 'fs/xfs/scrub/rtbitmap.c')
-rw-r--r-- | fs/xfs/scrub/rtbitmap.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/xfs/scrub/rtbitmap.c b/fs/xfs/scrub/rtbitmap.c index 851039588fe3..f08b6b379343 100644 --- a/fs/xfs/scrub/rtbitmap.c +++ b/fs/xfs/scrub/rtbitmap.c @@ -16,15 +16,23 @@ #include "xfs_bmap.h" #include "scrub/scrub.h" #include "scrub/common.h" +#include "scrub/repair.h" /* Set us up with the realtime metadata locked. */ int xchk_setup_rtbitmap( struct xfs_scrub *sc) { + unsigned int resblks = 0; int error; - error = xchk_trans_alloc(sc, 0); + if (xchk_could_repair(sc)) { + error = xrep_setup_rtbitmap(sc, &resblks); + if (error) + return error; + } + + error = xchk_trans_alloc(sc, resblks); if (error) return error; |