Re: [NYE DELUGE 1/4] xfs: all pending online scrub improvements

Darrick J. Wong
2023-01-13T21:28:28Z

On Sat, Jan 14, 2023 at 04:10:33AM +0800, Zorro Lang wrote:
> On Fri, Dec 30, 2022 at 01:13:21PM -0800, Darrick J. Wong wrote:
> > Hi everyone,
> >
> > As I've mentioned several times throughout 2022, I would like to merge
> > the online fsck feature in time for the 2023 LTS kernel. The first big
> > step in this process is to merge all the pending bug fixes, validation
> > improvements, and general reorganization of the existing metadata
> > scrubbing functionality.
> >
> > This first deluge starts with the design document for the entirety of
> > the online fsck feature. The design doc should be familiar to most of
> > you, as it's been on the list for review for months already. It
> > outlines in brief the problems we're trying to solve, the use cases and
> > testing plan, and the fundamental data structures and algorithms
> > underlying the entire feature.
> >
> > After that come all the code changes to wrap up the metadata checking
> > part of the feature. The biggest piece here is the scrub drains that
> > allow scrub to quiesce deferred ops targeting AGs so that it can
> > cross-reference recordsets. Most of the rest is tweaking the btree code
> > so that we can do keyspace scans to look for conflicting records.
> >
> > For this review, I would like people to focus the following:
> >
> > - Are the major subsystems sufficiently documented that you could figure
> > out what the code does?
> >
> > - Do you see any problems that are severe enough to cause long term
> > support hassles? (e.g. bad API design, writing weird metadata to disk)
> >
> > - Can you spot mis-interactions between the subsystems?
> >
> > - What were my blind spots in devising this feature?
> >
> > - Are there missing pieces that you'd like to help build?
> >
> > - Can I just merge all of this?
> >
> > The one thing that is /not/ in scope for this review are requests for
> > more refactoring of existing subsystems. While there are usually valid
> > arguments for performing such cleanups, those are separate tasks to be
> > prioritized separately. I will get to them after merging online fsck.
> >
> > I've been running daily online scrubs of every computer I own for the
> > last five years, which has helped me iron out real problems in (limited
> > scope) production. All issues observed in that time have been corrected
> > in this submission.
>
> The 3 fstests patchsets of the [NYE DELUGE 1/4] look good to me. And I didn't
> find more critical issues after Darrick fixed that "group name missing" problem.
> By testing it a whole week, I decide to merge this 3 patchsets this weekend,
> then we can shift to later patchsets are waiting for review and merge.
>
> Reviewed-by: Zorro Lang <zlang@redhat.com>

Ok, thanks!

--D

> Thanks,
> Zorro
>
> >
> > As a warning, the patches will likely take several days to trickle in.
> > All four patch deluges are based off kernel 6.2-rc1, xfsprogs 6.1, and
> > fstests 2022-12-25.
> >
> > Thank you all for your participation in the XFS community. Have a safe
> > New Years, and I'll see you all next year!
> >
> > --D
> >
>