On Thu, Apr 27, 2023 at 03:49:37PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > 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@xxxxxxxxxx> Looks ok, minor nit below. > @@ -453,6 +446,9 @@ xchk_fscounters( > if (frextents > mp->m_sb.sb_rextents) > xchk_set_corrupt(sc); > > + /* XXX: We can't quiesce percpu counter updates, so exit early. */ > + return 0; Can you just add to this that we can re-enable this functionality when we have the exclusive freeze functionality in the kernel? With that, Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> -- Dave Chinner david@xxxxxxxxxxxxx