File tree Expand file tree Collapse file tree
tools/testing/selftests/ublk Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -30,18 +30,26 @@ _run_fio_verify_io() {
3030}
3131
3232_create_backfile () {
33- local my_size=$1
34- local my_file
33+ local index=$1
34+ local new_size=$2
35+ local old_file
36+ local new_file
3537
36- my_file=$( mktemp ublk_file_" ${my_size} " _XXXXX)
37- truncate -s " ${my_size} " " ${my_file} "
38- echo " $my_file "
38+ old_file=" ${UBLK_BACKFILES[$index]} "
39+ [ -f " $old_file " ] && rm -f " $old_file "
40+
41+ new_file=$( mktemp ublk_file_" ${new_size} " _XXXXX)
42+ truncate -s " ${new_size} " " ${new_file} "
43+ UBLK_BACKFILES[" $index " ]=" $new_file "
3944}
4045
41- _remove_backfile () {
42- local file= $1
46+ _remove_files () {
47+ local file
4348
44- [ -f " $file " ] && rm -f " $file "
49+ for file in " ${UBLK_BACKFILES[@]} " ; do
50+ [ -f " $file " ] && rm -f " $file "
51+ done
52+ [ -f " $UBLK_TMP " ] && rm -f " $UBLK_TMP "
4553}
4654
4755_create_tmp_dir () {
@@ -129,7 +137,10 @@ _show_result()
129137 echo " $1 : [FAIL]"
130138 fi
131139 fi
132- [ " $2 " -ne 0 ] && exit " $2 "
140+ if [ " $2 " -ne 0 ]; then
141+ _remove_files
142+ exit " $2 "
143+ fi
133144 return 0
134145}
135146
@@ -138,16 +149,16 @@ _check_add_dev()
138149{
139150 local tid=$1
140151 local code=$2
141- shift 2
152+
142153 if [ " ${code} " -ne 0 ]; then
143- _remove_test_files " $@ "
144154 _show_result " ${tid} " " ${code} "
145155 fi
146156}
147157
148158_cleanup_test () {
149159 " ${UBLK_PROG} " del -a
150- rm -f " $UBLK_TMP "
160+
161+ _remove_files
151162}
152163
153164_have_feature ()
@@ -247,6 +258,7 @@ UBLK_TMP=$(mktemp ublk_test_XXXXX)
247258UBLK_PROG=$( _ublk_test_top_dir) /kublk
248259UBLK_TEST_QUIET=1
249260UBLK_TEST_SHOW_RESULT=1
261+ UBLK_BACKFILES=()
250262export UBLK_PROG
251263export UBLK_TEST_QUIET
252264export UBLK_TEST_SHOW_RESULT
Original file line number Diff line number Diff line change 1212
1313_prep_test " loop" " write and verify test"
1414
15- backfile_0= $( _create_backfile 256M)
15+ _create_backfile 0 256M
1616
17- dev_id=$( _add_ublk_dev -t loop " $backfile_0 " )
18- _check_add_dev $TID $? " ${backfile_0} "
17+ dev_id=$( _add_ublk_dev -t loop " ${UBLK_BACKFILES[0]} " )
18+ _check_add_dev $TID $?
1919
2020# run fio over the ublk disk
2121_run_fio_verify_io --filename=/dev/ublkb" ${dev_id} " --size=256M
2222ERR_CODE=$?
2323
2424_cleanup_test " loop"
2525
26- _remove_backfile " $backfile_0 "
27-
2826_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -8,15 +8,13 @@ ERR_CODE=0
88
99_prep_test " loop" " mkfs & mount & umount"
1010
11- backfile_0= $( _create_backfile 256M)
12- dev_id=$( _add_ublk_dev -t loop " $backfile_0 " )
13- _check_add_dev $TID $? " $backfile_0 "
11+ _create_backfile 0 256M
12+ dev_id=$( _add_ublk_dev -t loop " ${UBLK_BACKFILES[0]} " )
13+ _check_add_dev $TID $?
1414
1515_mkfs_mount_test /dev/ublkb" ${dev_id} "
1616ERR_CODE=$?
1717
1818_cleanup_test " loop"
1919
20- _remove_backfile " $backfile_0 "
21-
2220_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change 1212
1313_prep_test " loop" " write and verify over zero copy"
1414
15- backfile_0= $( _create_backfile 256M)
16- dev_id=$( _add_ublk_dev -t loop -z " $backfile_0 " )
17- _check_add_dev $TID $? " $backfile_0 "
15+ _create_backfile 0 256M
16+ dev_id=$( _add_ublk_dev -t loop -z " ${UBLK_BACKFILES[0]} " )
17+ _check_add_dev $TID $?
1818
1919# run fio over the ublk disk
2020_run_fio_verify_io --filename=/dev/ublkb" ${dev_id} " --size=256M
2121ERR_CODE=$?
2222
2323_cleanup_test " loop"
2424
25- _remove_backfile " $backfile_0 "
26-
2725_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -8,15 +8,14 @@ ERR_CODE=0
88
99_prep_test " loop" " mkfs & mount & umount with zero copy"
1010
11- backfile_0=$( _create_backfile 256M)
12- dev_id=$( _add_ublk_dev -t loop -z " $backfile_0 " )
13- _check_add_dev $TID $? " $backfile_0 "
11+ _create_backfile 0 256M
12+
13+ dev_id=$( _add_ublk_dev -t loop -z " ${UBLK_BACKFILES[0]} " )
14+ _check_add_dev $TID $?
1415
1516_mkfs_mount_test /dev/ublkb" ${dev_id} "
1617ERR_CODE=$?
1718
1819_cleanup_test " loop"
1920
20- _remove_backfile " $backfile_0 "
21-
2221_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change 1212
1313_prep_test " loop" " write and verify test"
1414
15- backfile_0= $( _create_backfile 256M)
15+ _create_backfile 0 256M
1616
17- dev_id=$( _add_ublk_dev -q 2 -t loop " $backfile_0 " )
18- _check_add_dev $TID $? " ${backfile_0} "
17+ dev_id=$( _add_ublk_dev -q 2 -t loop " ${UBLK_BACKFILES[0]} " )
18+ _check_add_dev $TID $?
1919
2020# run fio over the ublk disk
2121_run_fio_verify_io --filename=/dev/ublkb" ${dev_id} " --size=256M
2222ERR_CODE=$?
2323
2424_cleanup_test " loop"
2525
26- _remove_backfile " $backfile_0 "
27-
2826_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -10,17 +10,13 @@ ublk_io_and_remove()
1010{
1111 local size=$1
1212 shift 1
13- local backfile=" "
14- if echo " $@ " | grep -q " loop" ; then
15- backfile=${*: -1}
16- fi
13+
1714 DEV_ID=$( _add_ublk_dev " $@ " )
18- _check_add_dev $TID $? " ${backfile} "
15+ _check_add_dev $TID $?
1916
2017 [ " $UBLK_TEST_QUIET " -eq 0 ] && echo " run ublk IO vs. remove device(ublk add $* )"
2118 if ! __run_io_and_remove " ${DEV_ID} " " ${size} " " no" ; then
2219 echo " /dev/ublkc${DEV_ID} isn't removed"
23- _remove_backfile " ${backfile} "
2420 exit 255
2521 fi
2622}
@@ -33,15 +29,15 @@ if [ ${ERR_CODE} -ne 0 ]; then
3329 _show_result $TID $ERR_CODE
3430fi
3531
36- BACK_FILE=$( _create_backfile 256M)
37- ublk_io_and_remove 256M -t loop -q 4 " ${BACK_FILE} "
32+ _create_backfile 0 256M
33+
34+ ublk_io_and_remove 256M -t loop -q 4 " ${UBLK_BACKFILES[0]} "
3835ERR_CODE=$?
3936if [ ${ERR_CODE} -ne 0 ]; then
4037 _show_result $TID $ERR_CODE
4138fi
4239
43- ublk_io_and_remove 256M -t loop -q 4 -z " ${BACK_FILE } "
40+ ublk_io_and_remove 256M -t loop -q 4 -z " ${UBLK_BACKFILES[0] } "
4441ERR_CODE=$?
4542_cleanup_test " stress"
46- _remove_backfile " ${BACK_FILE} "
4743_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -10,17 +10,13 @@ ublk_io_and_kill_daemon()
1010{
1111 local size=$1
1212 shift 1
13- local backfile=" "
14- if echo " $@ " | grep -q " loop" ; then
15- backfile=${*: -1}
16- fi
13+
1714 DEV_ID=$( _add_ublk_dev " $@ " )
18- _check_add_dev $TID $? " ${backfile} "
15+ _check_add_dev $TID $?
1916
2017 [ " $UBLK_TEST_QUIET " -eq 0 ] && echo " run ublk IO vs kill ublk server(ublk add $* )"
2118 if ! __run_io_and_remove " ${DEV_ID} " " ${size} " " yes" ; then
2219 echo " /dev/ublkc${DEV_ID} isn't removed res ${res} "
23- _remove_backfile " ${backfile} "
2420 exit 255
2521 fi
2622}
@@ -33,15 +29,15 @@ if [ ${ERR_CODE} -ne 0 ]; then
3329 _show_result $TID $ERR_CODE
3430fi
3531
36- BACK_FILE=$( _create_backfile 256M)
37- ublk_io_and_kill_daemon 256M -t loop -q 4 " ${BACK_FILE} "
32+ _create_backfile 0 256M
33+
34+ ublk_io_and_kill_daemon 256M -t loop -q 4 " ${UBLK_BACKFILES[0]} "
3835ERR_CODE=$?
3936if [ ${ERR_CODE} -ne 0 ]; then
4037 _show_result $TID $ERR_CODE
4138fi
4239
43- ublk_io_and_kill_daemon 256M -t loop -q 4 -z " ${BACK_FILE } "
40+ ublk_io_and_kill_daemon 256M -t loop -q 4 -z " ${UBLK_BACKFILES[0] } "
4441ERR_CODE=$?
4542_cleanup_test " stress"
46- _remove_backfile " ${BACK_FILE} "
4743_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change 1212
1313_prep_test " stripe" " write and verify test"
1414
15- backfile_0= $( _create_backfile 256M)
16- backfile_1= $( _create_backfile 256M)
15+ _create_backfile 0 256M
16+ _create_backfile 1 256M
1717
18- dev_id=$( _add_ublk_dev -t stripe " $backfile_0 " " $backfile_1 " )
19- _check_add_dev $TID $? " ${backfile_0} "
18+ dev_id=$( _add_ublk_dev -t stripe " ${UBLK_BACKFILES[0]} " " ${UBLK_BACKFILES[1]} " )
19+ _check_add_dev $TID $?
2020
2121# run fio over the ublk disk
2222_run_fio_verify_io --filename=/dev/ublkb" ${dev_id} " --size=512M
2323ERR_CODE=$?
2424
2525_cleanup_test " stripe"
26-
27- _remove_backfile " $backfile_0 "
28- _remove_backfile " $backfile_1 "
29-
3026_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -8,17 +8,14 @@ ERR_CODE=0
88
99_prep_test " stripe" " mkfs & mount & umount"
1010
11- backfile_0=$( _create_backfile 256M)
12- backfile_1=$( _create_backfile 256M)
13- dev_id=$( _add_ublk_dev -t stripe " $backfile_0 " " $backfile_1 " )
14- _check_add_dev $TID $? " $backfile_0 " " $backfile_1 "
11+ _create_backfile 0 256M
12+ _create_backfile 1 256M
13+
14+ dev_id=$( _add_ublk_dev -t stripe " ${UBLK_BACKFILES[0]} " " ${UBLK_BACKFILES[1]} " )
15+ _check_add_dev $TID $?
1516
1617_mkfs_mount_test /dev/ublkb" ${dev_id} "
1718ERR_CODE=$?
1819
1920_cleanup_test " stripe"
20-
21- _remove_backfile " $backfile_0 "
22- _remove_backfile " $backfile_1 "
23-
2421_show_result $TID $ERR_CODE
You can’t perform that action at this time.
0 commit comments