From: Dmitry Fomichev Date: Tue, 6 Feb 2024 10:57:55 +0000 (+0900) Subject: t/zbd: add -s option to test-zbd-support script X-Git-Tag: fio-3.37~52 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=12067650d11d4777dee0cd64a136923c2fd2d073;p=fio.git t/zbd: add -s option to test-zbd-support script The total number of ZBD tests in test-zbd-support script has grown considerably over the years and zoned drive capacity has significantly increased as well. Today, the test run duration may reach one hour for large drives. If a terminal session failure happens during a run, it is more efficient to restart the tests from the point where the last run stopped rather than from the beginning. Add -s option to the script command line to specify the starting test number. Signed-off-by: Dmitry Fomichev Reviewed-by: Shin'ichiro Kawasaki Tested-by: Shin'ichiro Kawasaki Link: https://lore.kernel.org/r/20240206105755.214891-6-dmitry.fomichev@wdc.com Signed-off-by: Vincent Fu --- diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support index defb3652..c27d2ad6 100755 --- a/t/zbd/test-zbd-support +++ b/t/zbd/test-zbd-support @@ -15,6 +15,7 @@ usage() { echo -e "\t-w Reset all zones before executing each write test case" echo -e "\t-o Run fio with max_open_zones limit" echo -e "\t-t Run only a single test case with specified number" + echo -e "\t-s Start testing from the case with the 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" @@ -1602,6 +1603,7 @@ zbd_debug= max_open_zones_opt= quit_on_err= force_io_uring= +start_test=1 while [ "${1#-}" != "$1" ]; do case "$1" in @@ -1615,6 +1617,7 @@ while [ "${1#-}" != "$1" ]; do -w) reset_before_write=1; shift;; -t) tests+=("$2"); shift; shift;; -o) max_open_zones_opt="${2}"; shift; shift;; + -s) start_test=$2; shift; shift;; -v) dynamic_analyzer=(valgrind "--read-var-info=yes"); shift;; -q) quit_on_err=1; shift;; @@ -1694,6 +1697,7 @@ if [[ -b "$realdev" ]]; then set_io_scheduler "$basename" none || exit $? ;; esac + elif [[ -c "$realdev" ]]; then # For an SG node, we must have libzbc option specified if [[ ! -n "$use_libzbc" ]]; then @@ -1772,6 +1776,7 @@ trap 'intr=1' SIGINT ret=0 for test_number in "${tests[@]}"; do + [ "${test_number}" -lt "${start_test}" ] && continue rm -f "${logfile}.${test_number}" unset SKIP_REASON echo -n "Running test $(printf "%02d" $test_number) ... "