This series fixes few issues with verify, and introduces a new test suite. Inital few patches add the missing client/server support for verify_write_sequence. This also changes its behavior such that if verify_write_sequence is explicitly enabled fio will not disable it under any circumstance. Numerous header seed mismatch issues have been reported. This series introduces a new option verify_header_seed which is similar to verify_write_sequence, which allow users to disable any header seed verification. For certain workloads which used to overwrite header seed before verification, we simply disable the header seed checks now. This now includes a few more scenarios such as verify_only mode, read only workloads and workloads with norandommap, where the header seed match is not guaranteed. Few more fixes related to verify_offset, workloads that have offset modifiers, verification issue when multiple files are specified, are part of this series. Lastly this includes robust test suite for verify. CI run result: https://github.com/vincentkfu/fio/actions/runs/13552248490 Note: The fixes in this series doesn't cover experimental_verify and any workload with variable block sizes. Ankit Kumar (14): filesetup: remove unnecessary check verify: add missing client/server support for verify_write_sequence init: write sequence behavior change for verify_only mode fio: add verify_header_seed option verify: disable header seed checking instead of overwriting it verify: enable header seed check for 100% write jobs verify: disable header seed check for verify_only jobs verify: header seed check for read only workloads verify: fix verify issues with norandommap verify: disable write sequence checks with norandommap and iodepth > 1 backend: fix verify issue during readwrite init: fixup verify_offset option verify: fix verify issue with offest modifiers verify: adjust fio_offset_overlap_risk to include randommap Vincent Fu (7): t/fiotestcommon: do not require nvmecdev argument for Requirements t/fiotestlib: improve JSON decoding t/fiotestlib: display stderr size when it is not empty but should be t/verify.py: Add verify test script t/fiotestcommon: add a success pattern for long tests t/run-fio-test: add t/verify.py ci: add nightly test for verify .github/workflows/ci.yml | 2 + HOWTO.rst | 52 ++- backend.c | 18 +- cconv.c | 4 + ci/actions-full-test.sh | 13 + filesetup.c | 14 +- fio.1 | 46 ++- fio.h | 9 + init.c | 43 ++- iolog.c | 9 +- options.c | 11 + server.h | 2 +- t/fiotestcommon.py | 7 +- t/fiotestlib.py | 20 +- t/run-fio-tests.py | 8 + t/verify.py | 799 +++++++++++++++++++++++++++++++++++++++ thread_options.h | 3 + verify.c | 10 +- 18 files changed, 1005 insertions(+), 65 deletions(-) create mode 100755 t/verify.py -- 2.25.1