From: Omar Sandoval Date: Wed, 28 Feb 2018 18:17:34 +0000 (-0800) Subject: block/014: test all I/O schedulers X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c8547a38f9aef58f88384e630e4a0e99d66c09d2;p=users%2Fsagi%2Fblktests.git block/014: test all I/O schedulers Signed-off-by: Omar Sandoval --- diff --git a/tests/block/014 b/tests/block/014 index 917017c..da5508d 100755 --- a/tests/block/014 +++ b/tests/block/014 @@ -19,8 +19,6 @@ DESCRIPTION="run null-blk with timeout injection configured" -QUICK=1 - requires() { _have_module null-blk && _have_module_param null_blk timeout } @@ -32,14 +30,23 @@ test() { # The format is ",,,". Here, we # fail 50% of I/Os. - modprobe null_blk timeout='1,50,0,-1' - - # Do a bunch of I/Os which will timeout and then complete. The only - # thing we're really testing here is that this doesn't crash or hang. - for ((i = 0; i < 100; i++)); do - dd if=/dev/nullb0 of=/dev/null bs=4K count=4 iflag=direct status=none & + modprobe null_blk queue_mode=2 timeout='1,50,0,-1' + + local scheds + scheds=($(sed 's/[][]//g' /sys/block/nullb0/queue/scheduler)) + + for sched in "${scheds[@]}"; do + echo "Testing $sched" >> "$FULL" + echo "$sched" > /sys/block/nullb0/queue/scheduler + # Do a bunch of I/Os which will timeout and then complete. The + # only thing we're really testing here is that this doesn't + # crash or hang. + for ((i = 0; i < 100; i++)); do + dd if=/dev/nullb0 of=/dev/null bs=4K count=4 \ + iflag=direct status=none & + done + wait done - wait modprobe -r null_blk