The following changes since commit 8a63e7a32fcb6b7b131c4678ba95b81a9f2f8bca: Merge branch 'readme-update' of https://github.com/nikoandpiko/fio (2022-10-15 09:05:32 -0600) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to 0360d61fbfcc1f07bcdc16672f5040f8cf49681f: t/zbd: add a CLI option to force io_uring (2022-10-16 17:05:03 -0600) ---------------------------------------------------------------- Alexey Dobriyan (1): fio: warn about "ioengine=psync" and "iodepth >= 1" Dmitry Fomichev (2): t/zbd: fix max_open_zones determination in tests t/zbd: add a CLI option to force io_uring backend.c | 5 +++++ t/zbd/functions | 4 +++- t/zbd/test-zbd-support | 10 ++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) --- Diff of recent changes: diff --git a/backend.c b/backend.c index ec535bcc..d8f4f2a5 100644 --- a/backend.c +++ b/backend.c @@ -1791,6 +1791,11 @@ static void *thread_main(void *data) if (td_io_init(td)) goto err; + if (td_ioengine_flagged(td, FIO_SYNCIO) && td->o.iodepth > 1) { + log_info("note: both iodepth >= 1 and synchronous I/O engine " + "are selected, queue depth will be capped at 1\n"); + } + if (init_io_u(td)) goto err; diff --git a/t/zbd/functions b/t/zbd/functions index 7cff18fd..812320f5 100644 --- a/t/zbd/functions +++ b/t/zbd/functions @@ -230,9 +230,11 @@ max_open_zones() { echo ${max_nr_open_zones} } fi - else + elif [ -n "${use_libzbc}" ]; then ${zbc_report_zones} "$dev" | sed -n 's/^[[:blank:]]*Maximum number of open sequential write required zones:[[:blank:]]*//p' + else + echo 0 fi } diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support index d4aaa813..cdc03f28 100755 --- a/t/zbd/test-zbd-support +++ b/t/zbd/test-zbd-support @@ -17,6 +17,7 @@ usage() { echo -e "\t-t <test #> Run only a single test case with specified number" echo -e "\t-q Quit the test run after any failed test" echo -e "\t-z Run fio with debug=zbd option" + echo -e "\t-u Use io_uring ioengine in place of libaio" } max() { @@ -38,6 +39,8 @@ min() { ioengine() { if [ -n "$use_libzbc" ]; then echo -n "--ioengine=libzbc" + elif [ "$1" = "libaio" -a -n "$force_io_uring" ]; then + echo -n "--ioengine=io_uring" else echo -n "--ioengine=$1" fi @@ -1275,6 +1278,7 @@ use_libzbc= zbd_debug= max_open_zones_opt= quit_on_err= +force_io_uring= while [ "${1#-}" != "$1" ]; do case "$1" in @@ -1292,6 +1296,7 @@ while [ "${1#-}" != "$1" ]; do shift;; -q) quit_on_err=1; shift;; -z) zbd_debug=1; shift;; + -u) force_io_uring=1; shift;; --) shift; break;; *) usage; exit 1;; esac @@ -1302,6 +1307,11 @@ if [ $# != 1 ]; then exit 1 fi +if [ -n "$use_libzbc" -a -n "$force_io_uring" ]; then + echo "Please specify only one of -l and -u options" + exit 1 +fi + # shellcheck source=functions source "$(dirname "$0")/functions" || exit $?