[PATCH 5/8] xfs_scrub: add missing repair types to the mustfix and difficulty assessment

Darrick J. Wong
2023-12-31T22:39:35Z

Add a few scrub types that ought to trigger a mustfix (such as AGI
corruption) and all the AG space metadata to the repair difficulty
assessment.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
scrub/repair.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/scrub/repair.c b/scrub/repair.c
index 8ee9102ab58..33a8031103c 100644
--- a/scrub/repair.c
+++ b/scrub/repair.c
@@ -299,6 +299,7 @@ action_list_find_mustfix(
if (!(aitem->flags & XFS_SCRUB_OFLAG_CORRUPT))
continue;
switch (aitem->type) {
+ case XFS_SCRUB_TYPE_AGI:
case XFS_SCRUB_TYPE_FINOBT:
case XFS_SCRUB_TYPE_INOBT:
alist->nr--;
@@ -325,11 +326,17 @@ action_list_difficulty(
case XFS_SCRUB_TYPE_RMAPBT:
ret |= REPAIR_DIFFICULTY_SECONDARY;
break;
+ case XFS_SCRUB_TYPE_SB:
+ case XFS_SCRUB_TYPE_AGF:
+ case XFS_SCRUB_TYPE_AGFL:
+ case XFS_SCRUB_TYPE_AGI:
case XFS_SCRUB_TYPE_FINOBT:
case XFS_SCRUB_TYPE_INOBT:
case XFS_SCRUB_TYPE_BNOBT:
case XFS_SCRUB_TYPE_CNTBT:
case XFS_SCRUB_TYPE_REFCNTBT:
+ case XFS_SCRUB_TYPE_RTBITMAP:
+ case XFS_SCRUB_TYPE_RTSUM:
ret |= REPAIR_DIFFICULTY_PRIMARY;
break;
}