summaryrefslogtreecommitdiff
path: root/fs/xfs/scrub/rtbitmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/scrub/rtbitmap.c')
-rw-r--r--fs/xfs/scrub/rtbitmap.c10
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;