On Fri, Apr 28, 2023 at 12:20:41PM +1000, Dave Chinner wrote: > 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? Will do. --D > With that, > > Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> > > -- > Dave Chinner > david@xxxxxxxxxxxxx