summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2021-03-22 19:51:52 +0300
committerDarrick J. Wong <djwong@kernel.org>2021-03-26 02:47:49 +0300
commit9de4b514494a3b49fa708186c0dc4611f1fe549c (patch)
treeff33102d9c567f56f983acc85bd55c23f74d91a0 /fs
parent7716ee54cb88e1b76e6a9b61416e286b8150f61d (diff)
downloadlinux-9de4b514494a3b49fa708186c0dc4611f1fe549c.tar.xz
xfs: mark a data structure sick if there are cross-referencing errors
If scrub observes cross-referencing errors while scanning a data structure, mark the data structure sick. There's /something/ inconsistent, even if we can't really tell what it is. Fixes: 4860a05d2475 ("xfs: scrub/repair should update filesystem metadata health") Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/scrub/health.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/scrub/health.c b/fs/xfs/scrub/health.c
index 83d27cdf579b..3de59b5c2ce6 100644
--- a/fs/xfs/scrub/health.c
+++ b/fs/xfs/scrub/health.c
@@ -133,7 +133,8 @@ xchk_update_health(
if (!sc->sick_mask)
return;
- bad = (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT);
+ bad = (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |
+ XFS_SCRUB_OFLAG_XCORRUPT));
switch (type_to_health_flag[sc->sm->sm_type].group) {
case XHG_AG:
pag = xfs_perag_get(sc->mp, sc->sm->sm_agno);