On Fri, Dec 30, 2022 at 02:19:30PM -0800, Darrick J. Wong wrote: > Hi all, > > A longstanding deficiency in the online fs summary counter scrubbing > code is that it hasn't any means to quiesce the incore percpu counters > while it's running. There is no way to coordinate with other threads > are reserving or freeing free space simultaneously, which leads to false > error reports. Right now, if the discrepancy is large, we just sort of > shrug and bail out with an incomplete flag, but this is lame. > > For repair activity, we actually /do/ need to stabilize the counters to > get an accurate reading and install it in the percpu counter. To > improve the former and enable the latter, allow the fscounters online > fsck code to perform an exclusive mini-freeze on the filesystem. The > exclusivity prevents userspace from thawing while we're running, and the > mini-freeze means that we don't wait for the log to quiesce, which will > make both speedier. > > If you're going to start using this mess, you probably ought to just > pull from my git trees, which are linked below. > > This is an extraordinary way to destroy everything. Enjoy! > Comments and questions are, as always, welcome. > > --D This patchset looks good to me, Reviewed-by: Zorro Lang <zlang@xxxxxxxxxx> > > kernel git tree: > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=repair-fscounters > > fstests git tree: > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=repair-fscounters > --- > tests/xfs/713 | 36 ++++++++++++++++++++++++++++++++++++ > tests/xfs/713.out | 4 ++++ > tests/xfs/714 | 41 +++++++++++++++++++++++++++++++++++++++++ > tests/xfs/714.out | 2 ++ > tests/xfs/762 | 46 ++++++++++++++++++++++++++++++++++++++++++++++ > tests/xfs/762.out | 2 ++ > 6 files changed, 131 insertions(+) > create mode 100755 tests/xfs/713 > create mode 100644 tests/xfs/713.out > create mode 100755 tests/xfs/714 > create mode 100644 tests/xfs/714.out > create mode 100755 tests/xfs/762 > create mode 100644 tests/xfs/762.out >