mbox series

[PATCHSET,RFC,00/10] fstests: move test group lists into test files

Message ID 162199360248.3744214.17042613373014687643.stgit@locust (mailing list archive)
Headers show
Series fstests: move test group lists into test files | expand

Message

Darrick J. Wong May 26, 2021, 1:46 a.m. UTC
Hi all,

Test group files (e.g. tests/generic/group) are a pain to keep up.
Every week I rebase on Eryu's latest upstream, and every week I have to
slog through dozens of trivial merge conflicts because of the
groupfiles.  Moving tests is annoying because we have to maintain all
this code to move the group associations from one /group file to
another.

It doesn't need to be this way -- we could move each test's group
information into the test itself, and automatically generate the group
files as part of the make process.  This series does exactly that.

The first few patches add some convenient anchors for the new
per-testfile group tagging and a conversion script to migrate existing
test files.  Next there's a huge patch that is the results of running
the conversion script, followed by cleanup of the golden outputs.  After
that comes the build infrastructure to generate group files and other
tweaks to the existing maintainer scripts to use the new infrastructure.
Finally, remove the group files themselves and the (now unnecessary)
code that maintained them.

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

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=autogenerate-groupfiles
---
 common/test_names      |   19 +
 include/buildrules     |    6 
 new                    |  188 ++++----------
 tests/Makefile         |    4 
 tests/btrfs/001        |    8 -
 tests/btrfs/002        |    8 -
 tests/btrfs/003        |    8 -
 tests/btrfs/004        |    8 -
 tests/btrfs/006.out    |    2 
 tests/btrfs/012.out    |    2 
 tests/btrfs/Makefile   |    3 
 tests/btrfs/group      |  244 ------------------
 tests/ceph/Makefile    |    3 
 tests/ceph/group       |    4 
 tests/cifs/Makefile    |    3 
 tests/cifs/group       |    6 
 tests/ext4/Makefile    |    3 
 tests/ext4/group       |   62 ----
 tests/f2fs/Makefile    |    3 
 tests/f2fs/group       |    7 -
 tests/generic/184.out  |    2 
 tests/generic/Makefile |    3 
 tests/generic/group    |  662 ------------------------------------------------
 tests/nfs/Makefile     |    3 
 tests/nfs/group        |    6 
 tests/ocfs2/Makefile   |    3 
 tests/ocfs2/group      |    1 
 tests/overlay/Makefile |    3 
 tests/overlay/group    |  100 -------
 tests/perf/Makefile    |    3 
 tests/perf/group       |    1 
 tests/shared/Makefile  |    3 
 tests/shared/group     |    8 -
 tests/udf/Makefile     |    3 
 tests/udf/group        |    6 
 tests/xfs/Makefile     |    3 
 tests/xfs/group        |  622 ---------------------------------------------
 tools/convert-group    |   64 +++++
 tools/mkgroupfile      |   37 +++
 tools/mvtest           |   12 -
 tools/nextid           |    1 
 tools/nextid           |   39 +++
 tools/sort-group       |  112 --------
 43 files changed, 274 insertions(+), 2014 deletions(-)
 delete mode 100644 tests/btrfs/group
 delete mode 100644 tests/ceph/group
 delete mode 100644 tests/cifs/group
 delete mode 100644 tests/ext4/group
 delete mode 100644 tests/f2fs/group
 delete mode 100644 tests/generic/group
 delete mode 100644 tests/nfs/group
 delete mode 100644 tests/ocfs2/group
 delete mode 100644 tests/overlay/group
 delete mode 100644 tests/perf/group
 delete mode 100644 tests/shared/group
 delete mode 100644 tests/udf/group
 delete mode 100644 tests/xfs/group
 create mode 100755 tools/convert-group
 create mode 100755 tools/mkgroupfile
 delete mode 120000 tools/nextid
 create mode 100755 tools/nextid
 delete mode 100755 tools/sort-group

Comments

Amir Goldstein June 3, 2021, 6:32 a.m. UTC | #1
On Wed, May 26, 2021 at 5:50 AM Darrick J. Wong <djwong@kernel.org> wrote:
>
> Hi all,
>
> Test group files (e.g. tests/generic/group) are a pain to keep up.
> Every week I rebase on Eryu's latest upstream, and every week I have to
> slog through dozens of trivial merge conflicts because of the
> groupfiles.  Moving tests is annoying because we have to maintain all
> this code to move the group associations from one /group file to
> another.
>
> It doesn't need to be this way -- we could move each test's group
> information into the test itself, and automatically generate the group
> files as part of the make process.  This series does exactly that.
>

This looks very nice :)

I do have one concern.
If the auto-generated group files keep the same path as the existing
source controlled group files, checkout of pre/post this change is
going to be challenging for developers running make in the source
directory.

Also .gitignore entries are needed for the auto-generated group files.

I wonder if it wouldn't be easier for everyone if the auto-generated
groups had a different name.

Thanks,
Amir.
Darrick J. Wong June 3, 2021, 3:34 p.m. UTC | #2
On Thu, Jun 03, 2021 at 09:32:16AM +0300, Amir Goldstein wrote:
> On Wed, May 26, 2021 at 5:50 AM Darrick J. Wong <djwong@kernel.org> wrote:
> >
> > Hi all,
> >
> > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > Every week I rebase on Eryu's latest upstream, and every week I have to
> > slog through dozens of trivial merge conflicts because of the
> > groupfiles.  Moving tests is annoying because we have to maintain all
> > this code to move the group associations from one /group file to
> > another.
> >
> > It doesn't need to be this way -- we could move each test's group
> > information into the test itself, and automatically generate the group
> > files as part of the make process.  This series does exactly that.
> >
> 
> This looks very nice :)
> 
> I do have one concern.
> If the auto-generated group files keep the same path as the existing
> source controlled group files, checkout of pre/post this change is
> going to be challenging for developers running make in the source
> directory.

<nod> A temporary pain until everyone rebases, but you're right, that's
going to annoy people unnecessarily.

Admittedly I left it as tests/*/group to avoid making any other changes.
All three lines' worth in check. :P

> Also .gitignore entries are needed for the auto-generated group files.

Heh, oops.  Will fix.

> I wonder if it wouldn't be easier for everyone if the auto-generated
> groups had a different name.

Probably.  We could blast fstests 25 years into the future and change
the name to "hashtag" :P

How about "group.map" ?

--D

> 
> Thanks,
> Amir.
Amir Goldstein June 3, 2021, 4:56 p.m. UTC | #3
On Thu, Jun 3, 2021 at 6:34 PM Darrick J. Wong <djwong@kernel.org> wrote:
>
> On Thu, Jun 03, 2021 at 09:32:16AM +0300, Amir Goldstein wrote:
> > On Wed, May 26, 2021 at 5:50 AM Darrick J. Wong <djwong@kernel.org> wrote:
> > >
> > > Hi all,
> > >
> > > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > > Every week I rebase on Eryu's latest upstream, and every week I have to
> > > slog through dozens of trivial merge conflicts because of the
> > > groupfiles.  Moving tests is annoying because we have to maintain all
> > > this code to move the group associations from one /group file to
> > > another.
> > >
> > > It doesn't need to be this way -- we could move each test's group
> > > information into the test itself, and automatically generate the group
> > > files as part of the make process.  This series does exactly that.
> > >
> >
> > This looks very nice :)
> >
> > I do have one concern.
> > If the auto-generated group files keep the same path as the existing
> > source controlled group files, checkout of pre/post this change is
> > going to be challenging for developers running make in the source
> > directory.
>
> <nod> A temporary pain until everyone rebases, but you're right, that's
> going to annoy people unnecessarily.
>
> Admittedly I left it as tests/*/group to avoid making any other changes.
> All three lines' worth in check. :P
>
> > Also .gitignore entries are needed for the auto-generated group files.
>
> Heh, oops.  Will fix.
>
> > I wonder if it wouldn't be easier for everyone if the auto-generated
> > groups had a different name.
>
> Probably.  We could blast fstests 25 years into the future and change
> the name to "hashtag" :P
>
> How about "group.map" ?
>

<shrug> that's the hardest part ;-)

I'm fine with group.map group.list group.autogen or whatnot.

I am used to typing the prefix of the group file path in shell commands,
but auto-complete should take care of any suffix.

Thanks,
Amir.
Darrick J. Wong June 3, 2021, 10:21 p.m. UTC | #4
On Thu, Jun 03, 2021 at 07:56:49PM +0300, Amir Goldstein wrote:
> On Thu, Jun 3, 2021 at 6:34 PM Darrick J. Wong <djwong@kernel.org> wrote:
> >
> > On Thu, Jun 03, 2021 at 09:32:16AM +0300, Amir Goldstein wrote:
> > > On Wed, May 26, 2021 at 5:50 AM Darrick J. Wong <djwong@kernel.org> wrote:
> > > >
> > > > Hi all,
> > > >
> > > > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > > > Every week I rebase on Eryu's latest upstream, and every week I have to
> > > > slog through dozens of trivial merge conflicts because of the
> > > > groupfiles.  Moving tests is annoying because we have to maintain all
> > > > this code to move the group associations from one /group file to
> > > > another.
> > > >
> > > > It doesn't need to be this way -- we could move each test's group
> > > > information into the test itself, and automatically generate the group
> > > > files as part of the make process.  This series does exactly that.
> > > >
> > >
> > > This looks very nice :)
> > >
> > > I do have one concern.
> > > If the auto-generated group files keep the same path as the existing
> > > source controlled group files, checkout of pre/post this change is
> > > going to be challenging for developers running make in the source
> > > directory.
> >
> > <nod> A temporary pain until everyone rebases, but you're right, that's
> > going to annoy people unnecessarily.
> >
> > Admittedly I left it as tests/*/group to avoid making any other changes.
> > All three lines' worth in check. :P
> >
> > > Also .gitignore entries are needed for the auto-generated group files.
> >
> > Heh, oops.  Will fix.
> >
> > > I wonder if it wouldn't be easier for everyone if the auto-generated
> > > groups had a different name.
> >
> > Probably.  We could blast fstests 25 years into the future and change
> > the name to "hashtag" :P
> >
> > How about "group.map" ?
> >
> 
> <shrug> that's the hardest part ;-)
> 
> I'm fine with group.map group.list group.autogen or whatnot.
> 
> I am used to typing the prefix of the group file path in shell commands,
> but auto-complete should take care of any suffix.

I went with group.list.

--D

> Thanks,
> Amir.
Eryu Guan June 6, 2021, 2:44 p.m. UTC | #5
On Tue, May 25, 2021 at 06:46:42PM -0700, Darrick J. Wong wrote:
> Hi all,
> 
> Test group files (e.g. tests/generic/group) are a pain to keep up.
> Every week I rebase on Eryu's latest upstream, and every week I have to
> slog through dozens of trivial merge conflicts because of the
> groupfiles.  Moving tests is annoying because we have to maintain all
> this code to move the group associations from one /group file to
> another.

Thanks for doing this! It looks find overall from a quick look. Mind
adding some words in README file as well?

> 
> It doesn't need to be this way -- we could move each test's group
> information into the test itself, and automatically generate the group
> files as part of the make process.  This series does exactly that.
> 
> The first few patches add some convenient anchors for the new
> per-testfile group tagging and a conversion script to migrate existing
> test files.  Next there's a huge patch that is the results of running
> the conversion script, followed by cleanup of the golden outputs.  After
> that comes the build infrastructure to generate group files and other

The group files are auto-generated correctly upon "make", but "make
group" printed tons of errors like:

[root@fedoravm xfstests]# make group
 [GROUP] /root/workspace/xfstests/group
/root/workspace/xfstests/tests/btrfs/001: line 9: ./common/test_names: No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 10: _set_seq_and_groups: command not found
/root/workspace/xfstests/tests/btrfs/001: line 21: ./common/rc: No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 22: ./common/filter: No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 23: ./common/filter.btrfs: No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 26: _supported_fs: command not found
/root/workspace/xfstests/tests/btrfs/001: line 27: _require_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 30: _scratch_mount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 38: _filter_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 38: subvolume: command not found
ls: cannot access '/snap': No such file or directory
ls: cannot access '/snap': No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 50: _filter_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 50: subvolume: command not found
ls: cannot access '/subvol': No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 60: _btrfs_get_subvolid: command not found
/root/workspace/xfstests/tests/btrfs/001: line 61: _filter_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 61: subvolume: command not found
/root/workspace/xfstests/tests/btrfs/001: line 62: _scratch_cycle_mount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 65: _scratch_unmount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 67: _scratch_mount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 71: _filter_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 71: subvolume: command not found
/root/workspace/xfstests/tests/btrfs/001: line 72: _scratch_cycle_mount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 78: subvolume: command not found
/root/workspace/xfstests/tests/btrfs/001: line 81: _filter_btrfs_subvol_delete: command not found
/root/workspace/xfstests/tests/btrfs/001: line 81: subvolume: command not found
/root/workspace/xfstests/tests/btrfs/001: line 84: _scratch_cycle_mount: command not found

I think it's better to let 'make group' work as well, it might be easier
to re-generated just group files.

> tweaks to the existing maintainer scripts to use the new infrastructure.
> Finally, remove the group files themselves and the (now unnecessary)
> code that maintained them.
> 
> 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
> 
> fstests git tree:
> https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=autogenerate-groupfiles

I noticed that your patches are based on your internal base, and this
branch couldn't be pulled into current master branch. But this is fine
for RFC patches I think :)

Thanks,
Eryu
Darrick J. Wong June 6, 2021, 6:05 p.m. UTC | #6
On Sun, Jun 06, 2021 at 10:44:39PM +0800, Eryu Guan wrote:
> On Tue, May 25, 2021 at 06:46:42PM -0700, Darrick J. Wong wrote:
> > Hi all,
> > 
> > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > Every week I rebase on Eryu's latest upstream, and every week I have to
> > slog through dozens of trivial merge conflicts because of the
> > groupfiles.  Moving tests is annoying because we have to maintain all
> > this code to move the group associations from one /group file to
> > another.
> 
> Thanks for doing this! It looks find overall from a quick look. Mind
> adding some words in README file as well?

Ok.

> > It doesn't need to be this way -- we could move each test's group
> > information into the test itself, and automatically generate the group
> > files as part of the make process.  This series does exactly that.
> > 
> > The first few patches add some convenient anchors for the new
> > per-testfile group tagging and a conversion script to migrate existing
> > test files.  Next there's a huge patch that is the results of running
> > the conversion script, followed by cleanup of the golden outputs.  After
> > that comes the build infrastructure to generate group files and other
> 
> The group files are auto-generated correctly upon "make", but "make
> group" printed tons of errors like:
> 
> [root@fedoravm xfstests]# make group
>  [GROUP] /root/workspace/xfstests/group
> /root/workspace/xfstests/tests/btrfs/001: line 9: ./common/test_names: No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 10: _set_seq_and_groups: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 21: ./common/rc: No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 22: ./common/filter: No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 23: ./common/filter.btrfs: No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 26: _supported_fs: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 27: _require_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 30: _scratch_mount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 38: _filter_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 38: subvolume: command not found
> ls: cannot access '/snap': No such file or directory
> ls: cannot access '/snap': No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 50: _filter_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 50: subvolume: command not found
> ls: cannot access '/subvol': No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 60: _btrfs_get_subvolid: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 61: _filter_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 61: subvolume: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 62: _scratch_cycle_mount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 65: _scratch_unmount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 67: _scratch_mount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 71: _filter_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 71: subvolume: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 72: _scratch_cycle_mount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 78: subvolume: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 81: _filter_btrfs_subvol_delete: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 81: subvolume: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 84: _scratch_cycle_mount: command not found
> 
> I think it's better to let 'make group' work as well, it might be easier
> to re-generated just group files.

Yikes.  I will investigate this before reposting.

> > tweaks to the existing maintainer scripts to use the new infrastructure.
> > Finally, remove the group files themselves and the (now unnecessary)
> > code that maintained them.
> > 
> > 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
> > 
> > fstests git tree:
> > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=autogenerate-groupfiles
> 
> I noticed that your patches are based on your internal base, and this
> branch couldn't be pulled into current master branch. But this is fine
> for RFC patches I think :)

Yep.  Since this is a treewide change I'll put this in a special branch
and rebase my dev tree after it lands.

--D

> 
> Thanks,
> Eryu
Darrick J. Wong June 7, 2021, 5:06 p.m. UTC | #7
On Sun, Jun 06, 2021 at 11:05:09AM -0700, Darrick J. Wong wrote:
> On Sun, Jun 06, 2021 at 10:44:39PM +0800, Eryu Guan wrote:
> > On Tue, May 25, 2021 at 06:46:42PM -0700, Darrick J. Wong wrote:
> > > Hi all,
> > > 
> > > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > > Every week I rebase on Eryu's latest upstream, and every week I have to
> > > slog through dozens of trivial merge conflicts because of the
> > > groupfiles.  Moving tests is annoying because we have to maintain all
> > > this code to move the group associations from one /group file to
> > > another.
> > 
> > Thanks for doing this! It looks find overall from a quick look. Mind
> > adding some words in README file as well?
> 
> Ok.
> 
> > > It doesn't need to be this way -- we could move each test's group
> > > information into the test itself, and automatically generate the group
> > > files as part of the make process.  This series does exactly that.
> > > 
> > > The first few patches add some convenient anchors for the new
> > > per-testfile group tagging and a conversion script to migrate existing
> > > test files.  Next there's a huge patch that is the results of running
> > > the conversion script, followed by cleanup of the golden outputs.  After
> > > that comes the build infrastructure to generate group files and other
> > 
> > The group files are auto-generated correctly upon "make", but "make
> > group" printed tons of errors like:
> > 
> > [root@fedoravm xfstests]# make group
> >  [GROUP] /root/workspace/xfstests/group
> > /root/workspace/xfstests/tests/btrfs/001: line 9: ./common/test_names: No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 10: _set_seq_and_groups: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 21: ./common/rc: No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 22: ./common/filter: No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 23: ./common/filter.btrfs: No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 26: _supported_fs: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 27: _require_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 30: _scratch_mount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 38: _filter_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 38: subvolume: command not found
> > ls: cannot access '/snap': No such file or directory
> > ls: cannot access '/snap': No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 50: _filter_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 50: subvolume: command not found
> > ls: cannot access '/subvol': No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 60: _btrfs_get_subvolid: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 61: _filter_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 61: subvolume: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 62: _scratch_cycle_mount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 65: _scratch_unmount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 67: _scratch_mount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 71: _filter_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 71: subvolume: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 72: _scratch_cycle_mount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 78: subvolume: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 81: _filter_btrfs_subvol_delete: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 81: subvolume: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 84: _scratch_cycle_mount: command not found
> > 
> > I think it's better to let 'make group' work as well, it might be easier
> > to re-generated just group files.
> 
> Yikes.  I will investigate this before reposting.

Ah, that's because I put a recipe for group.list in buildrules, even
though it is only the tests/xfs/ directories that should ever know about
that build rule.

I think I can fix it by putting the group.list rule in a separate
include file and then only include the new file from tests/*/Makefile.

--D

> > > tweaks to the existing maintainer scripts to use the new infrastructure.
> > > Finally, remove the group files themselves and the (now unnecessary)
> > > code that maintained them.
> > > 
> > > 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
> > > 
> > > fstests git tree:
> > > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=autogenerate-groupfiles
> > 
> > I noticed that your patches are based on your internal base, and this
> > branch couldn't be pulled into current master branch. But this is fine
> > for RFC patches I think :)
> 
> Yep.  Since this is a treewide change I'll put this in a special branch
> and rebase my dev tree after it lands.
> 
> --D
> 
> > 
> > Thanks,
> > Eryu