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

Kent Overstreet
2025-04-13T21:56:25Z

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.

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)

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).