Alexey Neyman (2): Change memcpy() calls to assignments Handle 32-bit overflows in disk utilization stats Ankit Kumar (17): fdp: use macros fdp: fix placement id check fdp: support random placement id selection engines/xnvme: add support for fdp engines:io_uring: add missing error during open file engines:io_uring: update arguments to fetch nvme data engines:io_uring: enable support for separate metadata buffer engines:io_uring: uring_cmd add support for protection info io_u: move engine data out of union crc: pull required crc16-t10 files from linux kernel engines:io_uring: generate and verify pi for 16b guard crc: pull required crc64 nvme apis from linux kernel engines:nvme: pull required 48 bit accessors from linux kernel engines:io_uring: generate and verify pi for 64b guard examples: add example and fiograph for protection information options engines:io_uring_cmd: disallow verify for e2e pi with extended blocks engines:nvme: fill command fields as per pi check bits Bart Van Assche (6): zbd: Support finishing zones on Android diskutil: Improve disk utilization data structure documentation diskutil: Remove casts from get_io_ticks() diskutil: Simplify get_io_ticks() diskutil: Fix a debug statement in get_io_ticks() diskutil: Report how many sectors have been read and written Damien Le Moal (6): os-linux: Cleanup IO priority class and value macros cmdprio: Introduce generic option definitions os-linux: add initial support for IO priority hints options: add priohint option cmdprio: Add support for per I/O priority hint stats: Add hint information to per priority level stats Denis Pronin (10): fixed compiler warnings if NDEBUG enabled in core code fixed compiler warnings if NDEBUG enabled in test code use 'min' macro to find out next value of actual_min in libaio diskutil.h: fix missing headers wanted by the header helper_thread.h: include missing stdbool.h because 'bool' type is used helper_thread.h: forwardly declare structures fio_sem and sk_out fix missing headers in multiple files correctly free thread_data options at the topmost parent process io_uring engine: 'atomic_load_relaxed' instead of 'atomic_load_acquire' use 'const' where it is required Dmitry Fomichev (2): t/zbd: fix null_blk configuration in run-tests-against-nullb t/zbd: add max_active configs to run-tests-against-nullb Igor Pylypiv (1): verify: Fix the bad pattern block offset value Jens Axboe (21): Merge branch 'libaio/actual_min_algo_update' of https://github.com/dpronin/fio Merge branch 'improvement/fix-warnings-if-NDEBUG-enabled' of https://github.com/dpronin/fio fio/server: fix confusing sk_out check Merge branch 'makefile-hardening-cpp-flags' of https://github.com/proact-de/fio Merge branch 'master' of https://github.com/bvanassche/fio Merge branch 'patch-3' of https://github.com/yangjueji/fio Merge branch 'prio-hints' Merge branch 'diskutil-fix-missing-headers' of https://github.com/dpronin/fio Merge branch 'helper_thread-fix-missing-stdbool-header' of https://github.com/dpronin/fio Merge branch 'io_uring' of https://github.com/dpronin/fio Merge branch 'master' of https://github.com/dpronin/fio Merge branch 'td-eo-double-free-fix' of https://github.com/dpronin/fio Revert "correctly free thread_data options at the topmost parent process" Merge branch 'improment/constness' of https://github.com/dpronin/fio Merge branch 'master' of https://github.com/min22/fio engines/io_uring: fix leak of 'ld' in error path Merge branch 'master' of https://github.com/michalbiesek/fio Merge branch 'pcpp_parse_nr_fix' of https://github.com/PCPartPicker/fio Merge branch 'fix_verify_block_offset' of https://github.com/ipylypiv/fio Merge branch 'fix_issue_1642' of https://github.com/zqs-Oppenauer/fio Fio 3.36 Jueji Yang (1): fix: io_uring sqpoll issue_time empty when kernel not yet read sq Kookoo Gu (1): iolog.c: fix inaccurate clat when replay trace Martin Steigerwald (1): Keep C pre processor hardening build flags. Michael Kelley (1): thinktime: Avoid calculating a negative time left to wait Michal Biesek (1): Add RISC-V 64 support Shai Levy (2): configure: improve pthread_sigmask detection. helper_thread: fix pthread_sigmask typo. Shin'ichiro Kawasaki (22): zbd: rename 'open zones' to 'write zones' zbd: do not reset extra zones in open conditions zbd: fix write zone accounting of almost full zones zbd: fix write zone accounting of trim workload t/zbd: reset zones before tests with max_open_zones option t/zbd: test write zone accounting of almost full zones t/zbd: test write zone accounting of trim workload zbd: avoid Coverity defect report zbd: get max_active_zones limit value from zoned devices zbd: write to closed zones on the devices with max_active_zones limit zbd: print max_active_zones limit error message docs: modify max_open_zones option description t/zbd: add close_zone helper function t/zbd: add max_active_zone variable t/zbd: add test case to check zones in closed condition t/zbd: add test case to check max_active_zones limit error message t/zbd: get max_open_zones from sysfs t/zbd: fix fio failure check and SG node failure in test case 31 t/zbd: add missing prep_write for test cases with write workloads backend: clear IO_U_F_FLIGHT flag in zero byte read path t/zbd: set mq-deadline scheduler to device-mapper destination devices t/zbd: avoid test case 45 failure Vincent Fu (46): ci: stop using AppVeyor for Windows builds ci: upload tagged GitHub Actions Windows installers as releases ci: disable tls for msys2 builds t/nvmept.py: test script for io_uring_cmd NVMe pass through t/run-fio-tests: integrate t/nvmept.py t/run-fio-tests: address issues identified by pylint t/run-fio-tests: split source file t/run-fio-tests: rename FioJobTest to FioJobFileTest t/run-fio-tests: move get_file outside of FioJobFileTest t/fiotestlib: use dictionaries for filenames and paths t/fiotestlib: use 'with' for opening files t/fiotestlib: use f-string for formatting t/fiotestlib: rearrange constructor and setup steps t/fiotestlib: record test command in more useful format t/fiotestlib: add class for command-line fio job t/random_seed: use logging module for debug prints t/random_seed: use methods provided in fiotestlib to run tests t/random_seed: fixes from pylint t/readonly: adapt to use fiotestlib t/nvmept: adapt to use fiotestlib t/fiotestlib: add ability to ingest iops logs t/strided: adapt to use fiotestlib t/strided: increase minumum recommended size to 64MiB docs: clarify opendir description init: don't adjust time units again for subjobs engines/io_uring_cmd: make trims async engines/io_uring: remove dead code related to trim t/nvmept: add check for iodepth t/nvmept: add trim test with ioengine options enabled options: add code for FDP pli selection use in client/server mode stat: add new diskutil sectors to json output stat: add diskutil aggregated sectors to normal output t/nvmept: fix typo t/fiotestlib: make recorded command prettier eta: calculate aggregate bw statistics even when eta is disabled t/fiotestlib: use config variable to skip test at runtime t/nvmept_pi: test script for protection information Merge branch 'pcpp_epoch_fixing_2' of https://github.com/PCPartPicker/fio verify: open state file in binary mode on Windows Merge branch 'fio_client_server_doc_fix' of https://github.com/pcpartpicker/fio workqueue: handle nice better ci: switch macos runs from macos-12 to macos-13 iolog: don't truncate time values Merge branch 'fix-stat-overflow' of https://github.com/stilor/fio ci: explicitly install pygments and certifi on macos Merge branch 'master' of https://github.com/shailevi23/fio aggieNick02 (4): Add basic error checking to parsing nr from rw=randrw:, etc Record job start time to fix time pain points Make log_unix_epoch an official alias of log_alternate_epoch Update docs to clarify how to pass job options in client mode zhuqingsong.0909 (1): fix assert failed when timeout during call rate_ddir.