Commit e09409d
committed
fio-tests: add multi-filesystem testing support
This merges the long-pending fio-tests filesystem support patch that adds
comprehensive filesystem-specific performance testing capabilities to
kdevops. The implementation allows testing filesystem optimizations,
block size configurations, and I/O patterns against actual mounted
filesystems rather than just raw block devices.
The implementation follows the proven mmtests architecture patterns with
modular Kconfig files and tag-based ansible task organization, avoiding
the proliferation of separate playbook files that would make maintenance
more complex.
Key filesystem testing features include XFS support with configurable
block sizes from 4K to 64K with various sector sizes and modern features
like reflink and rmapbt. The ext4 support provides both standard and
bigalloc configurations with different cluster sizes. For btrfs, modern
features including no-holes, free-space-tree, and compression options
are available.
The multi-filesystem section-based testing enables comprehensive
performance comparison across different filesystem configurations by
creating separate VMs for each configuration. This includes support for
XFS block size comparisons, comprehensive XFS block size analysis, and
cross-filesystem comparisons between XFS, ext4, and btrfs.
Node generation for multi-filesystem testing uses dynamic detection
based on enabled sections, creating separate VM nodes for each enabled
section with proper Ansible groups for each filesystem configuration.
A/B testing support is included across all configurations.
Results collection and analysis is handled through specialized tooling
with performance overview across filesystems, block size performance
heatmaps, IO depth scaling analysis, and statistical summaries with CSV
exports.
The patch has been updated to work with the current codebase which now
uses workflow-specific template includes for host file generation rather
than embedding all workflow templates in a single hosts.j2 file. The
fio-tests specific template has been enhanced with multi-filesystem
support while maintaining backward compatibility with single filesystem
testing.
Generated-by: Claude AI
Signed-off-by: Luis Chamberlain <[email protected]>1 parent d55d3dc commit e09409d
File tree
33 files changed
+4336
-286
lines changed- .github/workflows
- defconfigs
- playbooks
- python/workflows/fio-tests
- roles
- fio-tests
- tasks
- install-deps
- debian
- redhat
- suse
- templates
- gen_hosts
- tasks
- templates/workflows
- gen_nodes/tasks
- workflows/fio-tests
- scripts
33 files changed
+4336
-286
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
0 commit comments