On Fri, Feb 28, 2025 at 02:55:50PM +0100, David Sterba wrote: > On Fri, Feb 28, 2025 at 04:05:14AM +0800, Zorro Lang wrote: > > To clarify the supported filesystems by fstests, add a fs list to > > README file. > > > > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx> > > --- > > > > Hi, > > > > David Sterba suggests to have a supported fs list in fstests: > > > > https://lore.kernel.org/fstests/20250227073535.7gt7mj5gunp67axr@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/#m742e4f1f6668d39c1a48450e7176a366e0a2f6f9 > > > > I think that's a good suggestion, so I send this patch now. But tell the truth, > > it's hard to find all filesystems which are supported by fstests. Especially > > some filesystems might use fstests, but never be metioned in fstests code. > > So please review this patch or send another patch to tell fstests@ list, if > > you know any other filesystem is suppported. > > The idea is to make the list best-effort, we don't know which of the L1 > and L2 are tested. It would be interesting to try them to see the actual > level of support. I kind of doubt that anybody has run e.g. pvfs2 recently. Hi David, Thanks for your reviewing :) I never tried pvfs2 either. The "level" won't be changeless. That depends on how many test cases are there for the specific fs. L1 means I never saw more patches after one patch named "add support to $FSTYP" to change common/rc a bit. L2 means I saw a few more fixes after that signle patch. Anyway, if someone is still testing on someone FSTYP, please feel free to share your experience and change the level. > > > > And if anyone has review point about the support "level" and "comment" part, > > please feel free to tell me :) > > > > Thanks, > > Zorro > > > > README | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 82 insertions(+) > > > > diff --git a/README b/README > > index 024d39531..055935917 100644 > > --- a/README > > +++ b/README > > @@ -1,3 +1,85 @@ > > +_______________________ > > +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. > > +With xfs was ported to Linux, so was xfstests, now it only supports Linux. > > + > > +As xfstests has some test cases are good to 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. > > This could list what are the assumptions of a generic filesystem. For > example the mkfs.$FSTYP and fsck.$FSTYP should exist as the generic > fallback applies (other filesystems have the exceptions that skip eg. > fsck if it's known not to exist). Is there a place to know all mkfs.$FSTYP? The "man 8 mkfs" doesn't give much information. I'd not like to list the fs which isn't metioned in xfstests and never tried by others. But I'm very glad to add more later :) I can change above sentence as below: "Any filesystem can give fstests a try, especially the fs is supported by mkfs -t $FSTYP, mount -t $FSTYP and fsck -t $FSTYP." > > > +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. > > + > > ++------------+-------+---------------------------------------------------------+ > > +| Filesystem | Level | Comment | > > ++------------+-------+---------------------------------------------------------+ > > +| AFS | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| Bcachefs | L1+ | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| Btrfs | L4 | N/A | > > https://btrfs.readthedocs.io/en/latest/dev/Development-notes.html#fstests-setup > > some additional information about required packages, kernel configs and > devices. This could be in fstests/README too. Sure, I'll add it. > > > ++------------+-------+---------------------------------------------------------+ > > +| Ceph | L2 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| CIFS | L2- | https://wiki.samba.org/index.php/Xfstesting-cifs | > > ++------------+-------+---------------------------------------------------------+ > > +| Ext2/3/4 | L3+ | N/A | > > I'd suggest to split ext4 from that and give it L4, not sure if ext2 is > still being tested maybe it's worth L3. The standalone Ext3 module does > not exist and is covered by ext4, so it probably works with fstests but > is interesting maybe only for historical reasons. Actually I hesitated about the level of ext4. I gave L4 to btrfs due to it has 330+ specific test cases in tests/btrfs, besides generic tests. But ExtN has 70 (besides generic), so I set L3+. Anyway, L4 or L3+ are both good to me. If you recommend L4, I can change that. > > > ++------------+-------+---------------------------------------------------------+ > > +| Exfat | L1+ | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| f2fs | L3- | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| FUSE | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| GFS2 | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| Glusterfs | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| JFS | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| NFS | L2+ | https://linux-nfs.org/wiki/index.php/Xfstests | > > ++------------+-------+---------------------------------------------------------+ > > +| ocfs2 | L2- | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| overlay | L3 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| pvfs2 | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| Reiser4 | L1 | Reiserfs has been removed, only left reiser4 | > > ++------------+-------+---------------------------------------------------------+ > > +| tmpfs | L3- | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| ubifs | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| udf | L1+ | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| Virtiofs | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| XFS | L4+ | N/A | > > ++------------+-------+---------------------------------------------------------+ > > +| 9p | L1 | N/A | > > ++------------+-------+---------------------------------------------------------+ > > The table works as the way to present it but with so few links/comments > writing it as a simple list could give a better idea what filesystems > are in each category. Sorted alphabetically, like: > > L4: Btrfs, Ext4, XFS > L3: ... > etc I wrote many "N/A" due to I don't know what does the specific fs list want to comment. Likes you provide a link for btrfs, I don't know if other fs would like to change their part. So I tried to leave the "whiteboard" to them, hope each fs list can share how do they use fstests, that might be helpful for other users would like to join. If you think the "level" is more useful, I can list them in "level" order. Currently I list them in name's alphabetical order. Thanks, Zorro >