[PATCHSET v9 2/2] fstests: autonomous self healing of filesystems

Darrick J. Wong
2026-03-10T03:42:32Z

Hi all,

This series adds functionality and regression tests for the automated
self healing daemon for xfs.

v9: tweak fstests per userspace changes; improve attribution of the
generic fserror test; fix some bugs pointed out by zorro
v8: clean up userspace for merging now that the kernel part is upstream
v7: more cleanups of the media verification ioctl, improve comments, and
reuse the bio
v6: fix pi-breaking bugs, make verify failures trigger health reports
v5: add verify-media ioctl, collapse small helper funcs with only
one caller
v4: drop multiple client support so we can make direct calls into
healthmon instead of chasing pointers and doing indirect calls
v3: drag out of rfc status

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

With a bit of luck, this should all go splendidly.
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=health-monitoring

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=health-monitoring

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=health-monitoring
---
Commits in this patchset:
* xfs: test health monitoring code
* xfs: test for metadata corruption error reporting via healthmon
* xfs: test io error reporting via healthmon
* xfs: set up common code for testing xfs_healer
* xfs: test xfs_healer's event handling
* xfs: test xfs_healer can fix a filesystem
* xfs: test xfs_healer can report file I/O errors
* xfs: test xfs_healer can report file media errors
* xfs: test xfs_healer can report filesystem shutdowns
* xfs: test xfs_healer can initiate full filesystem repairs
* xfs: test xfs_healer can follow mount moves
* xfs: test xfs_healer wont repair the wrong filesystem
* xfs: test xfs_healer background service
* xfs: test xfs_healer startup service
---
common/config | 14 +++
common/module | 11 +++
common/rc | 5 +
common/systemd | 39 ++++++++++
common/xfs | 98 ++++++++++++++++++++++++
tests/xfs/1878 | 93 +++++++++++++++++++++++
tests/xfs/1878.out | 10 ++
tests/xfs/1879 | 93 +++++++++++++++++++++++
tests/xfs/1879.out | 8 ++
tests/xfs/1882 | 44 +++++++++++
tests/xfs/1882.out | 2
tests/xfs/1884 | 89 ++++++++++++++++++++++
tests/xfs/1884.out | 2
tests/xfs/1885 | 59 +++++++++++++++
tests/xfs/1885.out | 5 +
tests/xfs/1896 | 210 ++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/xfs/1896.out | 21 +++++
tests/xfs/1897 | 172 +++++++++++++++++++++++++++++++++++++++++++
tests/xfs/1897.out | 7 ++
tests/xfs/1898 | 37 +++++++++
tests/xfs/1898.out | 4 +
tests/xfs/1899 | 108 +++++++++++++++++++++++++++
tests/xfs/1899.out | 3 +
tests/xfs/1900 | 115 ++++++++++++++++++++++++++++
tests/xfs/1900.out | 2
tests/xfs/1901 | 137 ++++++++++++++++++++++++++++++++++
tests/xfs/1901.out | 2
tests/xfs/1902 | 152 ++++++++++++++++++++++++++++++++++++++
tests/xfs/1902.out | 2
tests/xfs/1903 | 124 +++++++++++++++++++++++++++++++
tests/xfs/1903.out | 6 +
tests/xfs/802 | 4 -
32 files changed, 1676 insertions(+), 2 deletions(-)
create mode 100755 tests/xfs/1878
create mode 100644 tests/xfs/1878.out
create mode 100755 tests/xfs/1879
create mode 100644 tests/xfs/1879.out
create mode 100755 tests/xfs/1882
create mode 100644 tests/xfs/1882.out
create mode 100755 tests/xfs/1884
create mode 100644 tests/xfs/1884.out
create mode 100755 tests/xfs/1885
create mode 100644 tests/xfs/1885.out
create mode 100755 tests/xfs/1896
create mode 100644 tests/xfs/1896.out
create mode 100755 tests/xfs/1897
create mode 100755 tests/xfs/1897.out
create mode 100755 tests/xfs/1898
create mode 100755 tests/xfs/1898.out
create mode 100755 tests/xfs/1899
create mode 100644 tests/xfs/1899.out
create mode 100755 tests/xfs/1900
create mode 100755 tests/xfs/1900.out
create mode 100755 tests/xfs/1901
create mode 100755 tests/xfs/1901.out
create mode 100755 tests/xfs/1902
create mode 100755 tests/xfs/1902.out
create mode 100755 tests/xfs/1903
create mode 100644 tests/xfs/1903.out