linux-stable/fs/xfs/scrub
Darrick J. Wong 1b20685295 xfs: disable reaping in fscounters scrub
commit 2d5f38a319 upstream.

The fscounters scrub code doesn't work properly because it cannot
quiesce updates to the percpu counters in the filesystem, hence it
returns false corruption reports.  This has been fixed properly in
one of the online repair patchsets that are under review by replacing
the xchk_disable_reaping calls with an exclusive filesystem freeze.
Disabling background gc isn't sufficient to fix the problem.

In other words, scrub doesn't need to call xfs_inodegc_stop, which is
just as well since it wasn't correct to allow scrub to call
xfs_inodegc_start when something else could be calling xfs_inodegc_stop
(e.g. trying to freeze the filesystem).

Neuter the scrubber for now, and remove the xchk_*_reaping functions.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-07-19 16:22:15 +02:00
..
agheader.c xfs: Pre-calculate per-AG agino geometry 2022-07-07 19:13:10 +10:00
agheader_repair.c xfs: replace xfs_ag_block_count() with perag accesses 2022-07-07 19:13:17 +10:00
alloc.c xfs: create a predicate to verify per-AG extents 2022-10-31 08:58:20 -07:00
attr.c xfs: replace xfs_sb_version checks with feature flag checks 2021-08-19 10:07:12 -07:00
attr.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
bitmap.c xfs: prepare xfs_btree_cur for dynamic cursor heights 2021-10-19 11:45:14 -07:00
bitmap.h
bmap.c xfs: convert XFS_IFORK_PTR to a static inline helper 2022-07-09 15:17:21 -07:00
btree.c xfs: replace XFS_IFORK_Q with a proper predicate function 2022-07-12 11:17:27 -07:00
btree.h xfs: dynamically allocate btree scrub context structure 2021-10-19 11:45:14 -07:00
common.c xfs: disable reaping in fscounters scrub 2023-07-19 16:22:15 +02:00
common.h xfs: disable reaping in fscounters scrub 2023-07-19 16:22:15 +02:00
dabtree.c xfs: convert XFS_IFORK_PTR to a static inline helper 2022-07-09 15:17:21 -07:00
dabtree.h
dir.c xfs: changes for 6.1-rc1 2022-10-10 20:32:10 -07:00
fscounters.c xfs: disable reaping in fscounters scrub 2023-07-19 16:22:15 +02:00
health.c xfs: make is_log_ag() a first class helper 2022-07-07 19:13:21 +10:00
health.h
ialloc.c xfs: create a predicate to verify per-AG extents 2022-10-31 08:58:20 -07:00
inode.c xfs: Introduce xfs_dfork_nextents() helper 2022-04-11 04:11:18 +00:00
parent.c Change calling conventions for filldir_t 2022-08-17 17:25:04 -04:00
quota.c xfs: convert XFS_IFORK_PTR to a static inline helper 2022-07-09 15:17:21 -07:00
refcount.c xfs: check record domain when accessing refcount records 2022-10-31 08:58:21 -07:00
repair.c xfs: fix for variable set but not used warning 2022-07-20 16:40:39 -07:00
repair.h xfs: stricter btree height checking when scanning for btree roots 2021-10-14 09:19:32 -07:00
rmap.c xfs: Pre-calculate per-AG agbno geometry 2022-07-07 19:13:02 +10:00
rtbitmap.c xfs: pass explicit mount pointer to rtalloc query functions 2022-04-12 06:49:41 +10:00
scrub.c xfs: disable reaping in fscounters scrub 2023-07-19 16:22:15 +02:00
scrub.h xfs: disable reaping in fscounters scrub 2023-07-19 16:22:15 +02:00
symlink.c xfs: replace inode fork size macros with functions 2022-07-12 11:17:27 -07:00
trace.c xfs: prepare xfs_btree_cur for dynamic cursor heights 2021-10-19 11:45:14 -07:00
trace.h xfs: prepare xfs_btree_cur for dynamic cursor heights 2021-10-19 11:45:14 -07:00
xfs_scrub.h xfs: fix scrub and remount-ro protection when running scrub 2021-04-09 10:27:13 -07:00