While working on LBS we've come accross some existing issues, some of them deal existing kernels without LBS, while the only new corner case specific to LBS is the xarray bug Willy fixed to help with truncation to larger order folios and races with writeback. This adds 3 new tests to help reproduce these issues right away. One test reproduces an otherwise extremely difficult to reproduce deadlock, we have one patch fix already merged to help with that deadlock, however the test also also gives us more homework todo, as more deadlocks are still possible with that test even on v6.10-rc2. The 3 tests are: 1) mmap(): The mmap page boundary test let's us discover that a patch on the LBS series fixes the mmap page boundary restriction when huge pages are enabled on tmpfs with a 4k base page size system (x86). This is a corner case POSIX semantic issue, so likley not critical to most users. 2) fsstress + compaction The fsstress + compaction test reproduces a really difficult to reproduce hang which is possible without some recent fixes. However the test reveals there is yet more work is left to do to fix all posssible deadlocks. To be clear these issues are reproducible without LBS, on a plain 4k block size XFS filesystem. 3) stress truncation + writeback The stress truncation + writeback test is the only test in this series specific to LBS, but likely will be useful later for other future uses in the kernel. Changes on this v2: - Few cleanups suggested - Renamed routines as suggested - Used helpers for proc vmstat as suggested - Made the mmap() test continue so we can just count the number of failures of the test - Made the fio test ignore out of space issues, we care to just blast the page cache, and detect write errors or crashes. This test now goes also tested with tmpfs. - Minor commit log enhancements Luis Chamberlain (5): common: move mread() to generic helper _mread() fstests: add mmap page boundary tests fstests: add fsstress + compaction test _require_debugfs(): simplify and fix for debian fstests: add stress truncation + writeback test common/rc | 54 ++++++++- tests/generic/574 | 36 +----- tests/generic/749 | 256 ++++++++++++++++++++++++++++++++++++++++++ tests/generic/749.out | 2 + tests/generic/750 | 63 +++++++++++ tests/generic/750.out | 2 + tests/generic/751 | 170 ++++++++++++++++++++++++++++ tests/generic/751.out | 2 + 8 files changed, 552 insertions(+), 33 deletions(-) create mode 100755 tests/generic/749 create mode 100644 tests/generic/749.out create mode 100755 tests/generic/750 create mode 100644 tests/generic/750.out create mode 100755 tests/generic/751 create mode 100644 tests/generic/751.out -- 2.43.0