Re: [PATCH v2] README: add supported fs list

Zorro Lang
2025-04-14T05:59:07Z

On Sun, Apr 13, 2025 at 05:56:08PM -0400, Kent Overstreet wrote:
> On Sat, Mar 29, 2025 at 12:46:09AM +0800, Zorro Lang wrote:
> > To clarify the supported filesystems by fstests, add a fs list to
> > README file.
> >
> > Signed-off-by: Zorro Lang <zlang@kernel.org>
> > Acked-by: "Darrick J. Wong" <djwong@kernel.org>
> > ---
> >
> > The v1 patch and review points:
> > https://lore.kernel.org/fstests/20250227200514.4085734-1-zlang@kernel.org/
> >
> > V2 did below things:
> > 1) Fix some wrong english sentences
> > 2) Explain the meaning of "+" and "-".
> > 3) Add a link to btrfs comment.
> > 4) Split ext2/3/4 to 3 lines.
> > 5) Reorder the fs list by "Level".
> >
> > Thanks,
> > Zorro
> >
> > README | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 90 insertions(+)
> >
> > diff --git a/README b/README
> > index 024d39531..5ceaa0c1e 100644
> > --- a/README
> > +++ b/README
> > @@ -1,3 +1,93 @@
> > +_______________________
> > +SUPPORTED FS LIST
> > +_______________________
> > +
> > +History
> > +-------
> > +
> > +Firstly, xfstests is the old name of this project, due to it was originally
> > +developed for testing the XFS file system on the SGI's Irix operating system.
> > +When xfs was ported to Linux, so was xfstests, now it only supports Linux.
> > +
> > +As xfstests has many test cases that can be run on some other filesystems,
> > +we call them "generic" (and "shared", but it has been removed) cases, you
> > +can find them in tests/generic/ directory. Then more and more filesystems
> > +started to use xfstests, and contribute patches. Today xfstests is used
> > +as a file system regression test suite for lots of Linux's major file systems.
> > +So it's not "xfs"tests only, we tend to call it "fstests" now.
> > +
> > +Supported fs
> > +------------
> > +
> > +Firstly, there's not hard restriction about which filesystem can use fstests.
> > +Any filesystem can give fstests a try.
> > +
> > +Although fstests supports many filesystems, they have different support level
> > +by fstests. So mark it with 4 levels as below:
> > +
> > +L1: Fstests can be run on the specified fs basically.
> > +L2: Rare support from the specified fs list to fix some generic test failures.
> > +L3: Normal support from the specified fs list, has some own cases.
> > +L4: Active support from the fs list, has lots of own cases.
> > +
> > +("+" means a slightly higher than the current level, but not reach to the next.
> > +"-" is opposite, means a little bit lower than the current level.)
> > +
> > ++------------+-------+---------------------------------------------------------+
> > +| Filesystem | Level | Comment |
> > ++------------+-------+---------------------------------------------------------+
> > +| XFS | L4+ | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| Btrfs | L4 | https://btrfs.readthedocs.io/en/latest/dev/Development-\|
> > +| | | notes.html#fstests-setup |
> > ++------------+-------+---------------------------------------------------------+
> > +| Ext4 | L4 | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| Ext2 | L3 | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| Ext3 | L3 | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| overlay | L3 | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| f2fs | L3- | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| tmpfs | L3- | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| NFS | L2+ | https://linux-nfs.org/wiki/index.php/Xfstests |
> > ++------------+-------+---------------------------------------------------------+
> > +| Ceph | L2 | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| CIFS | L2- | https://wiki.samba.org/index.php/Xfstesting-cifs |
> > ++------------+-------+---------------------------------------------------------+
> > +| ocfs2 | L2- | N/A |
> > ++------------+-------+---------------------------------------------------------+
> > +| Bcachefs | L1+ | N/A |
>
> I heavily use xfstests and look at the test results every day - I
> believe that would indicate L3.

Glad to receive the response from bcachefs :) L3 means there're enough fs specific
test cases in tests/$FSTYP besides generic cases, e.g. tests/overlay, or f2fs (although
it only has a few currently, but it's increasing).

>
> bcachefs specific tests are not generally in fstests beacuse there's
> lots of things that ktest can do that fstests can't, and I find it a bit
> more modern (i.e. tests that names, not numbers)

ktest? linux/tools/testing/ktest/ ? I'm glad to learn about more test suites,
I run fstests and LTP and some others too, fstests can't cover everything :)
Hmm... about the names... fstests supports to append a name to the ID number,
but the developers (looks like) prefer using number only all the time, then
it become a "tradition" now.

>
> Not all tests are passing (and won't be for awhile), but the remaining
> stuff is non critical (i.e. fsync() error behaviour when the filesystem
> has been shutdown, or certain device removal tests where the behaviour
> could probably use some discussion.
>
> But if you find e.g. a configuration that produces a generic/388 pop,
> that would go to the top of the pile.
>
> (I do have a few patches to the tests for bcachefs in my tree that I
> really ought to get upstream).

Sure, warm welcome your patches. And don't worry, you can send patch to
update the level part anytime when you think fstests supports becachefs
more :)

Thanks,
Zorro

>