From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86A892E645 for ; Thu, 20 Nov 2025 03:15:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.133 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763608540; cv=none; b=Q6gKVX4GrwncVpcuQYWQw96ZITpPn6RNrqpyx4pygoV36TMv3gKFOxqjUrikSmG4SDan+qtp3xr5uVzUbIVCv/Qv+rLnp5ho0a15N5FduXiI9OGEfkjxS9PVvIH5sm0PirCgM9mVU4PATQ35KEQKHS/O6NboMFYmqvJGW9L8gqA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763608540; c=relaxed/simple; bh=NN3+fCOmOHoDGw1r+yjJgwrc6gMkAB5JFeqQjO5F2ig=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SMbUxdhUtNFj4jMvgXPrm/fODmvOZKvdy4AD+Y2lmytpu599CrhWmkfHRQTK7qGrSotna1bVHaNc1BjRvhfa+FnQsXa2xjqpRyzGwjny4jjF/X461LHfQof6bCyXyOFMFIWySP1Z90T8ys+6UKG3KMK2F+04A49dKkzHbro3lHs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=xzXwAcwx; arc=none smtp.client-ip=198.137.202.133 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="xzXwAcwx" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=maXjCguX2ZFWs1UAjTq0lrYOJMm+GnJwzLb722gTH0w=; b=xzXwAcwxUga5m1kYbd6dNrKiuE nQLQd4gL0BecsC3tSz/05iT4tIcrnGS/if9WfoXROHWXSPEE6i/UNhwyW5bDUMGGJtCW1dIT6xH+1 aFjn+Uz6mpxRvS3IIE/7HxgrFF0a05IXbD7gm0mXpJDOlTQRRj6uWrZUkipYREK1ODAHKPGyr5wC9 SXIDbkeoFsJnkSoXOS2YR7QEBYpQrmqwRWhOp+0hAiaNQusU4yosNab6OpOU6MuogM1ZuLt2RR1jb SAeIdAhxUKIP2MXqXBBehlBAKR5UEA0L443MSucgzRyY6Jd+gl0Sj9XvPg6Pah2M/ugSu1nHxsX5M pVDGWUrA==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1vLv8w-000000062Yf-3wlq; Thu, 20 Nov 2025 03:15:38 +0000 From: Luis Chamberlain To: Chuck Lever , Daniel Gomez , kdevops@lists.linux.dev Cc: Luis Chamberlain Subject: [PATCH 0/3] fio-test: add filesystem tests Date: Wed, 19 Nov 2025 19:15:23 -0800 Message-ID: <20251120031530.1439748-1-mcgrof@kernel.org> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: Luis Chamberlain 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