[PATCH blktests 3/3] common, block/{015,020,021,027,040}, zbd/012: use _write_queue_sched()
Shin'ichiro Kawasaki <[email protected]>
| Newsgroups | org.kernel.vger.linux-block |
|---|---|
| Message-ID | <[email protected]> |
Use _write_queue_sched() to write values to the sysfs attirbute queue/scheduler to handle -EBUSY. Signed-off-by: Shin'ichiro Kawasaki <[email protected]> --- common/dm | 2 +- common/multipath-over-rdma | 2 +- common/rc | 5 +---- tests/block/015 | 2 +- tests/block/020 | 2 +- tests/block/021 | 2 +- tests/block/027 | 2 +- tests/block/040 | 3 +-- tests/zbd/012 | 2 +- 9 files changed, 9 insertions(+), 13 deletions(-) diff --git a/common/dm b/common/dm index 14f4265..b0517d6 100644 --- a/common/dm +++ b/common/dm @@ -38,7 +38,7 @@ _dm_destination_dev_set_scheduler() { SYSFS_QUEUE_SAVED["$path"]="$(sed \ -e 's/.*\[//' -e 's/\].*//' "${path}")" fi - echo "${1}" > "${path}" + _write_queue_sched "${1}" "${path}" done < <(dmsetup table "$(<"${TEST_DEV_SYSFS}/dm/name")" | sed -n 's/.* \([0-9]*:[0-9]*\).*/\1/p') } diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma index 9b72d26..9a4595d 100644 --- a/common/multipath-over-rdma +++ b/common/multipath-over-rdma @@ -302,7 +302,7 @@ set_scheduler() { bfq-mq) s=bfq;; esac fi - if ! echo "$s" > "$p"; then + if ! _write_queue_sched "$s" "$p"; then echo "Changing scheduler of $b from $(<"$p") into $s failed" return 1 fi diff --git a/common/rc b/common/rc index de5eb6d..6500533 100644 --- a/common/rc +++ b/common/rc @@ -385,10 +385,7 @@ _test_dev_queue_set() { ${SYSFS_QUEUE_SAVED["$path"]-unset} == unset ]]; then SYSFS_QUEUE_SAVED["$path"]="$(_test_dev_queue_get "$1")" fi - if ! echo "$2" >"$path"; then - echo "echo $2 > $path failed" - return 1 - fi + _write_queue_sched "$2" "$path" } _test_dev_set_scheduler() { diff --git a/tests/block/015 b/tests/block/015 index afb4b82..31a8135 100755 --- a/tests/block/015 +++ b/tests/block/015 @@ -42,7 +42,7 @@ test() { for sched in $(_io_schedulers "$faultb"); do echo "Testing $sched" >> "$FULL" - echo "$sched" > /sys/block/"$faultb"/queue/scheduler + _write_queue_sched "$sched" /sys/block/"$faultb"/queue/scheduler dd if=/dev/"$faultb" of=/dev/null bs=4K count=$((512 * 1024)) \ iflag=direct status=none done diff --git a/tests/block/020 b/tests/block/020 index 66f380e..22adf46 100755 --- a/tests/block/020 +++ b/tests/block/020 @@ -33,7 +33,7 @@ test() { fi for sched in $(_io_schedulers nullb1); do echo "Testing $sched" >> "$FULL" - echo "$sched" > /sys/block/nullb1/queue/scheduler + _write_queue_sched "$sched" /sys/block/nullb1/queue/scheduler _fio_perf --bs=4k --ioengine=libaio --iodepth=$iodepth \ --numjobs="$(nproc)" --rw=randread --name=async \ --filename=/dev/nullb1 --size=1g --direct=1 \ diff --git a/tests/block/021 b/tests/block/021 index 525d707..0d26e76 100755 --- a/tests/block/021 +++ b/tests/block/021 @@ -29,7 +29,7 @@ test() { for sched in $(_io_schedulers nullb1); do echo "Testing $sched" >> "$FULL" - echo "$sched" > /sys/block/nullb1/queue/scheduler + _write_queue_sched "$sched" /sys/block/nullb1/queue/scheduler max_nr="$(cat /sys/block/nullb1/queue/nr_requests)" for ((nr = 4; nr <= max_nr; nr++)); do echo "$nr" > /sys/block/nullb1/queue/nr_requests diff --git a/tests/block/027 b/tests/block/027 index f59dad2..a208d33 100755 --- a/tests/block/027 +++ b/tests/block/027 @@ -51,7 +51,7 @@ scsi_debug_stress_remove() { # shellcheck disable=SC2207 scheds=($(sed 's/[][]//g' "$queue_path/scheduler")) sched_idx=$((cnt % ${#scheds[@]})) - echo "${scheds[$sched_idx]}" > "$queue_path/scheduler" + _write_queue_sched "${scheds[$sched_idx]}" "$queue_path/scheduler" echo "$cnt" > "$queue_path/../device/queue_depth" ((cnt++)) done diff --git a/tests/block/040 b/tests/block/040 index cbf48d4..32e54f0 100755 --- a/tests/block/040 +++ b/tests/block/040 @@ -27,8 +27,7 @@ modify_io_sched() { deadline=$(($(_uptime_s) + TIMEOUT)) while [ "$(_uptime_s)" -lt "$deadline" ]; do for sched in $(_io_schedulers "$dev"); do - { echo "$sched" > /sys/block/"$dev"/queue/scheduler ;} \ - &> /dev/null + _write_queue_sched "$sched" /sys/block/"$dev"/queue/scheduler sleep .5 done done diff --git a/tests/zbd/012 b/tests/zbd/012 index c2e47f3..5ec6fd2 100755 --- a/tests/zbd/012 +++ b/tests/zbd/012 @@ -21,7 +21,7 @@ toggle_iosched() { while true; do for iosched in none mq-deadline; do - echo "${iosched}" > "/sys/class/block/$(basename "$zdev")/queue/scheduler" + _write_queue_sched "${iosched}" "/sys/class/block/$(basename "$zdev")/queue/scheduler" sleep .1 done done -- 2.54.0