]> www.infradead.org Git - users/hch/blktests.git/commitdiff
Introduce the function _configure_null_blk()
authorBart Van Assche <bvanassche@acm.org>
Sat, 28 Mar 2020 18:22:50 +0000 (11:22 -0700)
committerOmar Sandoval <osandov@fb.com>
Wed, 8 Apr 2020 21:49:59 +0000 (14:49 -0700)
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>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
common/multipath-over-rdma
common/null_blk
tests/block/029

index a56e7a8269db60c152cb50435710171128283978..e689a9633d131db8528758a44569bff3ac58e5d7 100644 (file)
@@ -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 $i completion_nsec=0 blocksize=512 \
+                                   size=$((ramdisk_size>>20)) memory_backed=1 \
+                                   power=1 || return $?
+       done
        ls -l /dev/nullb* &>>"$FULL"
 }
 
index a4140e365955cc1f9a3ebc7511e3ee1e6a6a6497..6611db03a00e3f59c875c50d1e3690f447237f31 100644 (file)
@@ -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 [[ $# -gt 0 ]]; do
+               param="${1%%=*}"
+               val="${1#*=}"
+               shift
+               echo "$val" > "$nullb/$param" || return $?
+       done
+}
+
 _exit_null_blk() {
        _remove_null_blk_devices
        udevadm settle
index 0d521edb0cf6c42ed70d7694080fe7552ceaf7cc..dbb582eab473f46ea31e3c56f5461e270fa62edd 100755 (executable)
@@ -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)) \