Message ID | 20200320222413.24386-4-bvanassche@acm.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add a test that triggers the blk_mq_realloc_hw_ctxs() error path | expand |
Hi Bart, On Fri, Mar 20, 2020 at 03:24:12PM -0700, Bart Van Assche wrote: > Introduce a function for creating a null_blk device instance through > configfs. > > Suggested-by: Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com> > Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> > Signed-off-by: Bart Van Assche <bvanassche@acm.org> > --- > common/multipath-over-rdma | 17 +++++------------ > common/null_blk | 14 ++++++++++++++ > tests/block/029 | 16 ++-------------- > 3 files changed, 21 insertions(+), 26 deletions(-) > > diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma > index a56e7a8269db..7e610a0ccbbb 100644 > --- a/common/multipath-over-rdma > +++ b/common/multipath-over-rdma > @@ -620,18 +620,11 @@ run_fio() { > configure_null_blk() { > local i > > - ( > - cd /sys/kernel/config/nullb || return $? > - for i in nullb0 nullb1; do ( > - { mkdir -p $i && > - cd $i && > - echo 0 > completion_nsec && > - echo 512 > blocksize && > - echo $((ramdisk_size>>20)) > size && > - echo 1 > memory_backed && > - echo 1 > power; } || exit $? > - ) done > - ) > + for i in nullb0 nullb1; do > + _configure_null_blk nullb$i completion_nsec=0 blocksize=512 \ I think this should be: _configure_null_blk $i completion_nsec=0 blocksize=512 \ Rest looks good, feel free do add my Reviewed-by when spinning a new version. Thanks, Daniel
On 2020-03-23 04:19, Daniel Wagner wrote: > On Fri, Mar 20, 2020 at 03:24:12PM -0700, Bart Van Assche wrote: >> diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma >> index a56e7a8269db..7e610a0ccbbb 100644 >> --- a/common/multipath-over-rdma >> +++ b/common/multipath-over-rdma >> @@ -620,18 +620,11 @@ run_fio() { >> configure_null_blk() { >> local i >> >> - ( >> - cd /sys/kernel/config/nullb || return $? >> - for i in nullb0 nullb1; do ( >> - { mkdir -p $i && >> - cd $i && >> - echo 0 > completion_nsec && >> - echo 512 > blocksize && >> - echo $((ramdisk_size>>20)) > size && >> - echo 1 > memory_backed && >> - echo 1 > power; } || exit $? >> - ) done >> - ) >> + for i in nullb0 nullb1; do >> + _configure_null_blk nullb$i completion_nsec=0 blocksize=512 \ > > I think this should be: > > _configure_null_blk $i completion_nsec=0 blocksize=512 \ Good catch, will fix. Thanks, Bart.
diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma index a56e7a8269db..7e610a0ccbbb 100644 --- a/common/multipath-over-rdma +++ b/common/multipath-over-rdma @@ -620,18 +620,11 @@ run_fio() { configure_null_blk() { local i - ( - cd /sys/kernel/config/nullb || return $? - for i in nullb0 nullb1; do ( - { mkdir -p $i && - cd $i && - echo 0 > completion_nsec && - echo 512 > blocksize && - echo $((ramdisk_size>>20)) > size && - echo 1 > memory_backed && - echo 1 > power; } || exit $? - ) done - ) + for i in nullb0 nullb1; do + _configure_null_blk nullb$i completion_nsec=0 blocksize=512 \ + size=$((ramdisk_size>>20)) memory_backed=1 \ + power=1 || return $? + done ls -l /dev/nullb* &>>"$FULL" } diff --git a/common/null_blk b/common/null_blk index a4140e365955..08008fca8eae 100644 --- a/common/null_blk +++ b/common/null_blk @@ -29,6 +29,20 @@ _init_null_blk() { return 0 } +# Configure one null_blk instance with name $1 and parameters $2..${$#}. +_configure_null_blk() { + local nullb=/sys/kernel/config/nullb/$1 param val + + shift + mkdir "$nullb" || return $? + while [ -n "$1" ]; do + param="${1%%=*}" + val="${1#*=}" + shift + echo "$val" > "$nullb/$param" || return $? + done +} + _exit_null_blk() { _remove_null_blk_devices udevadm settle diff --git a/tests/block/029 b/tests/block/029 index 0d521edb0cf6..dbb582eab473 100755 --- a/tests/block/029 +++ b/tests/block/029 @@ -14,19 +14,6 @@ requires() { _have_null_blk } -# Configure one null_blk instance. -configure_null_blk() { - local nullb0="/sys/kernel/config/nullb/nullb0" - - mkdir "$nullb0" && - echo 0 > "$nullb0/completion_nsec" && - echo 512 > "$nullb0/blocksize" && - echo 16 > "$nullb0/size" && - echo 1 > "$nullb0/memory_backed" && - echo 1 > "$nullb0/power" && - ls -l /dev/nullb* &>>"$FULL" -} - modify_nr_hw_queues() { local deadline num_cpus @@ -45,7 +32,8 @@ test() { : "${TIMEOUT:=30}" _init_null_blk nr_devices=0 queue_mode=2 && - configure_null_blk + _configure_null_blk nullb0 completion_nsec=0 blocksize=512 \ + size=16 memory_backed=1 power=1 && if { echo 1 >$sq; } 2>/dev/null; then modify_nr_hw_queues & fio --rw=randwrite --bs=4K --loops=$((10**6)) \