[PATCH 0/3] fio-test: add filesystem tests

Luis Chamberlain <[email protected]> Wed, 19 Nov 2025 19:15:23 -0800
Newsgroups dev.linux.lists.kdevops
Message-ID <[email protected]>
Although fio is typically associated with testing block devices,
it turns out you can nicely scale it to test filesystems too. Add
support for this.

Luis Chamberlain (3):
  fio-tests: add multi-filesystem testing support
  fio-tets: add DECLARE_HOSTS support
  fio-tests: add comprehensive filesystem testing documentation

 .github/workflows/fio-tests.yml               |   98 ++
 CLAUDE.md                                     |  401 ++++++
 PROMPTS.md                                    |  344 +++++
 defconfigs/fio-tests-fs-btrfs-zstd            |   25 +
 defconfigs/fio-tests-fs-ext4-bigalloc         |   24 +
 defconfigs/fio-tests-fs-ranges                |   24 +
 defconfigs/fio-tests-fs-xfs                   |   74 ++
 defconfigs/fio-tests-fs-xfs-4k-vs-16k         |   57 +
 defconfigs/fio-tests-fs-xfs-all-blocksizes    |   63 +
 defconfigs/fio-tests-fs-xfs-all-fsbs          |   57 +
 defconfigs/fio-tests-fs-xfs-vs-ext4-vs-btrfs  |   57 +
 defconfigs/fio-tests-quick                    |   74 ++
 docs/fio-tests-fs.md                          | 1103 +++++++++++++++++
 docs/fio-tests.md                             |   10 +
 kconfigs/workflows/Kconfig                    |    1 -
 playbooks/fio-tests-graph-host.yml            |   76 ++
 playbooks/fio-tests-graph.yml                 |  168 ++-
 playbooks/fio-tests-multi-fs-compare.yml      |  140 +++
 .../fio-tests/fio-multi-fs-compare.py         |  434 +++++++
 .../tasks/install-deps/debian/main.yml        |    1 +
 .../tasks/install-deps/redhat/main.yml        |    1 +
 .../tasks/install-deps/suse/main.yml          |    1 +
 playbooks/roles/fio-tests/tasks/main.yaml     |  430 +++++--
 .../roles/fio-tests/templates/fio-job.ini.j2  |   31 +-
 playbooks/roles/gen_hosts/tasks/main.yml      |   60 +
 .../templates/workflows/declared-hosts.j2     |   41 +
 .../templates/workflows/fio-tests.j2          |   66 +
 playbooks/roles/gen_nodes/tasks/main.yml      |  100 +-
 workflows/fio-tests/Kconfig                   |  370 ++++--
 workflows/fio-tests/Kconfig.btrfs             |   87 ++
 workflows/fio-tests/Kconfig.ext4              |  114 ++
 workflows/fio-tests/Kconfig.fs                |   75 ++
 workflows/fio-tests/Kconfig.xfs               |  170 +++
 workflows/fio-tests/Makefile                  |   65 +-
 .../scripts/generate_comparison_graphs.py     |  605 +++++++++
 .../generate_comprehensive_analysis.py        |  297 +++++
 workflows/fio-tests/sections.conf             |   47 +
 37 files changed, 5504 insertions(+), 287 deletions(-)
 create mode 100644 .github/workflows/fio-tests.yml
 create mode 100644 defconfigs/fio-tests-fs-btrfs-zstd
 create mode 100644 defconfigs/fio-tests-fs-ext4-bigalloc
 create mode 100644 defconfigs/fio-tests-fs-ranges
 create mode 100644 defconfigs/fio-tests-fs-xfs
 create mode 100644 defconfigs/fio-tests-fs-xfs-4k-vs-16k
 create mode 100644 defconfigs/fio-tests-fs-xfs-all-blocksizes
 create mode 100644 defconfigs/fio-tests-fs-xfs-all-fsbs
 create mode 100644 defconfigs/fio-tests-fs-xfs-vs-ext4-vs-btrfs
 create mode 100644 defconfigs/fio-tests-quick
 create mode 100644 docs/fio-tests-fs.md
 create mode 100644 playbooks/fio-tests-graph-host.yml
 create mode 100644 playbooks/fio-tests-multi-fs-compare.yml
 create mode 100644 playbooks/python/workflows/fio-tests/fio-multi-fs-compare.py
 create mode 100644 workflows/fio-tests/Kconfig.btrfs
 create mode 100644 workflows/fio-tests/Kconfig.ext4
 create mode 100644 workflows/fio-tests/Kconfig.fs
 create mode 100644 workflows/fio-tests/Kconfig.xfs
 create mode 100755 workflows/fio-tests/scripts/generate_comparison_graphs.py
 create mode 100644 workflows/fio-tests/scripts/generate_comprehensive_analysis.py
 create mode 100644 workflows/fio-tests/sections.conf

-- 
2.51.0