[NYE PATCHRIVER 1/4] xfs: the rest of online repair part 1

Darrick J. Wong
2023-12-31T18:12:16Z

Hi everyone,

In last year's NYE deluges, I mentioned that I wanted to get online
repair merged for the 2023 LTS kernel. That goal was not attained, so
now I want to get this merged in time for the 2024 LTS kernel.

(Big thanks to Dave earlier for helping to get all 120 scrub fixes
merged; and Christoph more recently for doing the same for the first 30
patches of repair and a bunch of rt refactorings from the modernization
series.)

But seriously, folks, this is dragging on unnecessarily. Either you all
need to step up and actually review the 55 patchsets and 458 patches
needed to get online repair done, or decide to let me merge it and deal
with the consequences, which I will. The only part of this deluge that
changes the ondisk format are the swapext patches that add a new log
intent item type. Everything else is guarded by Kconfig options and
won't destabilize the rest of the filesystem. I haven't changed the
swapext log intent item format since 2021. 2+ years to get feedback is
dysfunctional.

In the meantime, lack of upstream merging means that I cannot start
wider testing of this code with the people who run (b)leading edge XFS
code; I cannot solicit user and customer feedback because they don't
have the code; and there's no way I can meaningfully prioritize
improvements to the code because **I cannot get feedback**.

Fuzz and stress testing of online repairs have been running well for two
years now. As of this writing, online repair can fix more things than
offline repair, and the fsstress+repair long soak test has passed 300
million repairs with zero problems observed.

(For comparison, the long soak fsx test recently passed 110 billion file
operations, so online fsck has a ways to go...)

--D