On Fri, May 02, 2025 at 07:14:26PM +0000, Viacheslav Dubeyko wrote: > On Thu, 2025-05-01 at 23:01 -0400, Theodore Ts'o wrote: > > Hey, in case it would be helpfui, I've added hfs support to the > > kvm-xfstests/gce-xfstests[1] test appliance. Following the > > instructions at [2], you can now run "kvm-xfstests -c hfs -g auto" to > > run all of the tests in the auto group. If you want to replicate the > > failure in generic/001, you could run "kvm-fstests -c hfs generic/001". > > > > Yes, it is really helpful! Sounds great! Let me try this framework for HFS/HFS+. > Thanks a lot. FYI, I'm using the hfsprogs from Debian, which at the moment only supports HFS+. The prebuilt test appliance for {kvm,gce}-xfstests are based on Debian Stable (Bookworm), but I am building test appliances using Debian Testing (Trixie). However, for the purposes of hfsprogs, both Debian Bookwrm and Trixie are based on the 540.1 version of hfsprogs. But there are plenty of bugs to fix until we can manage to get a version of hfsprogs that supports HFS --- also I'd argue that for many users support of HFS+ is probably more useful. If you find some test failures which are more about test bugs than kernel bug, so we can add them to exclude files. For example, in /root/fs/ext4/exclude I have things like: // generic/04[456] tests how truncate and delayed allocation works // ext4 uses the data=ordered to avoid exposing stale data, and // so it uses a different mechanism than xfs. So these tests will fail generic/044 generic/045 generic/046 Since I aso test LTS kernels, and sometimes it's not practcal to backport fixes to older kernels we can also do versioned excludes. For example, I have in /root/fs/global_exclude entries like: #if LINUX_VERSION_CODE < KERNEL_VERSION(6,6,30) // This test failure is fixed by commit 631426ba1d45q ("mm/madvise: // make MADV_POPULATE_(READ|WRITE) handle VM_FAULT_RETRY properly"), // which first landed in v6.9, and was backported to 6.6.30 as commit // 631426ba1d45. Unfortunately, it's too involved to backport it and its // dependencies to the 6.1 or earlier LTS kernels generic/743 #endif Finally, I have things set up to automatically run tests when a branch on a git tree that I'm watching changes. For exmaple: gce-xfstests ltm -c ext4/all,xfs/all,btrfs/all,f2fs/all -g auto --repo https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next --watch fs-next gce-xfstests ltm -c ext4/all,xfs/all -g auto --repo stable-rc.git --watch linux-6.12.y gce-xfstests ltm -c ext4/all,xfs/all -g auto --repo stable-rc.git --watch linux-6.6.y If it's helpful, I can set up watchers for hfs and send them to you or some mailing list once the number of failures are reduced toa manageable number. Cheers, - Ted P.S. An example e-mail report: TESTRUNID: ltm-20250416105110-0009 KERNEL: kernel 6.12.25-rc1-xfstests-g56d2398227a2 #6 SMP PREEMPT_DYNAMIC Wed Apr 23 10:48:50 EDT 2025 x86_64 CMDLINE: -c ext4/all,xfs/all -g auto --repo stable-rc.git --watch linux-6.12.y CPUS: 2 MEM: 7680 ext4/4k: 587 tests, 1 failures, 55 skipped, 5596 seconds Flaky: generic/234: 20% (1/5) ext4/1k: 581 tests, 2 failures, 59 skipped, 7807 seconds Failures: generic/363 generic/758 ext4/ext3: 579 tests, 1 failures, 149 skipped, 4646 seconds Failures: ext4/028 ext4/encrypt: 562 tests, 175 skipped, 3795 seconds ext4/nojournal: 579 tests, 127 skipped, 4038 seconds ext4/ext3conv: 584 tests, 57 skipped, 5044 seconds ext4/adv: 580 tests, 2 failures, 63 skipped, 4933 seconds Failures: generic/757 generic/764 ext4/dioread_nolock: 585 tests, 55 skipped, 5135 seconds ext4/data_journal: 580 tests, 1 failures, 135 skipped, 5776 seconds Failures: generic/127 ext4/bigalloc_4k: 558 tests, 58 skipped, 4870 seconds ext4/bigalloc_1k: 559 tests, 2 failures, 69 skipped, 5141 seconds Failures: generic/363 generic/758 ext4/dax: 571 tests, 1 failures, 160 skipped, 3196 seconds Failures: generic/363 xfs/4k: 1181 tests, 2 failures, 173 skipped, 12295 seconds Failures: xfs/273 xfs/820 xfs/1k: 1181 tests, 2 failures, 173 skipped, 12407 seconds Failures: xfs/273 xfs/820 xfs/adv: 1181 tests, 4 failures, 173 skipped, 12416 seconds Failures: xfs/273 xfs/820 Flaky: generic/234: 20% (1/5) generic/370: 20% (1/5) xfs/quota: 1181 tests, 3 failures, 174 skipped, 11305 seconds Failures: xfs/273 xfs/820 Flaky: generic/370: 60% (3/5) xfs/quota_1k: 1181 tests, 4 failures, 177 skipped, 21927 seconds Failures: xfs/273 xfs/629 xfs/820 Flaky: generic/627: 60% (3/5) xfs/dirblock_8k: 1181 tests, 2 failures, 175 skipped, 15638 seconds Failures: xfs/273 xfs/820 xfs/realtime: 1180 tests, 4 failures, 531 skipped, 9820 seconds Failures: generic/455 xfs/013 xfs/273 xfs/609 xfs/realtime_28k_logdev: 1216 tests, 41 failures, 1 errors, 613 skipped, 12164 seconds Failures: generic/757 xfs/253 xfs/273 xfs/598 xfs/629 xfs/630 xfs/631 xfs/632 Flaky: xfs/609: 20% (1/5) Errors: xfs/137 xfs/realtime_logdev: 1200 tests, 21 failures, 1 errors, 586 skipped, 11650 seconds Failures: generic/757 xfs/253 xfs/273 xfs/598 Flaky: xfs/609: 20% (1/5) Errors: xfs/137 xfs/logdev: 1209 tests, 31 failures, 1 errors, 245 skipped, 15002 seconds Failures: generic/757 xfs/234 xfs/253 xfs/273 xfs/598 xfs/820 Flaky: generic/234: 20% (1/5) Errors: xfs/137 xfs/dax: 1191 tests, 7 failures, 344 skipped, 8396 seconds Failures: xfs/550 xfs/551 xfs/552 xfs/629 xfs/632 xfs/820 Flaky: generic/363: 40% (2/5) Totals: 20139 tests, 4526 skipped, 264 failures, 3 errors, 192766s FSTESTIMG: gce-xfstests/xfstests-amd64-202504110828 FSTESTPRJ: gce-xfstests FSTESTVER: blktests 236edfd (Tue, 18 Mar 2025 12:56:26 +0900) FSTESTVER: fio fio-3.39 (Tue, 18 Feb 2025 08:36:57 -0700) FSTESTVER: fsverity v1.6-2-gee7d74d (Mon, 17 Feb 2025 11:41:58 -0800) FSTESTVER: ima-evm-utils v1.5 (Mon, 6 Mar 2023 07:40:07 -0500) FSTESTVER: libaio libaio-0.3.108-82-gb8eadc9 (Thu, 2 Jun 2022 13:33:11 +0200) FSTESTVER: ltp 20250130-195-ge2bbba0c1 (Fri, 11 Apr 2025 18:06:15 +0800) FSTESTVER: quota v4.05-69-g68952f1 (Mon, 7 Oct 2024 15:45:56 -0400) FSTESTVER: util-linux v2.41 (Tue, 18 Mar 2025 13:50:51 +0100) FSTESTVER: xfsprogs v6.13.0-2-gf0d16c9e (Tue, 1 Apr 2025 20:23:42 -0400) FSTESTVER: xfstests-bld 42bcd9aa (Wed, 9 Apr 2025 07:51:57 -0400) FSTESTVER: xfstests v2025.03.30-11-g344015670 (Mon, 31 Mar 2025 13:50:06 -0400) FSTESTVER: zz_build-distro bookworm FSTESTSET: -g auto FSTESTOPT: aex