File tree Expand file tree Collapse file tree 12 files changed +70
-89
lines changed
tools/testing/selftests/ublk Expand file tree Collapse file tree 12 files changed +70
-89
lines changed Original file line number Diff line number Diff line change @@ -30,18 +30,26 @@ _run_fio_verify_io() {
30
30
}
31
31
32
32
_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
35
37
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 "
39
44
}
40
45
41
- _remove_backfile () {
42
- local file= $1
46
+ _remove_files () {
47
+ local file
43
48
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 "
45
53
}
46
54
47
55
_create_tmp_dir () {
@@ -129,7 +137,10 @@ _show_result()
129
137
echo " $1 : [FAIL]"
130
138
fi
131
139
fi
132
- [ " $2 " -ne 0 ] && exit " $2 "
140
+ if [ " $2 " -ne 0 ]; then
141
+ _remove_files
142
+ exit " $2 "
143
+ fi
133
144
return 0
134
145
}
135
146
@@ -138,16 +149,16 @@ _check_add_dev()
138
149
{
139
150
local tid=$1
140
151
local code=$2
141
- shift 2
152
+
142
153
if [ " ${code} " -ne 0 ]; then
143
- _remove_test_files " $@ "
144
154
_show_result " ${tid} " " ${code} "
145
155
fi
146
156
}
147
157
148
158
_cleanup_test () {
149
159
" ${UBLK_PROG} " del -a
150
- rm -f " $UBLK_TMP "
160
+
161
+ _remove_files
151
162
}
152
163
153
164
_have_feature ()
@@ -247,6 +258,7 @@ UBLK_TMP=$(mktemp ublk_test_XXXXX)
247
258
UBLK_PROG=$( _ublk_test_top_dir) /kublk
248
259
UBLK_TEST_QUIET=1
249
260
UBLK_TEST_SHOW_RESULT=1
261
+ UBLK_BACKFILES=()
250
262
export UBLK_PROG
251
263
export UBLK_TEST_QUIET
252
264
export UBLK_TEST_SHOW_RESULT
Original file line number Diff line number Diff line change 12
12
13
13
_prep_test " loop" " write and verify test"
14
14
15
- backfile_0= $( _create_backfile 256M)
15
+ _create_backfile 0 256M
16
16
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 $?
19
19
20
20
# run fio over the ublk disk
21
21
_run_fio_verify_io --filename=/dev/ublkb" ${dev_id} " --size=256M
22
22
ERR_CODE=$?
23
23
24
24
_cleanup_test " loop"
25
25
26
- _remove_backfile " $backfile_0 "
27
-
28
26
_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -8,15 +8,13 @@ ERR_CODE=0
8
8
9
9
_prep_test " loop" " mkfs & mount & umount"
10
10
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 $?
14
14
15
15
_mkfs_mount_test /dev/ublkb" ${dev_id} "
16
16
ERR_CODE=$?
17
17
18
18
_cleanup_test " loop"
19
19
20
- _remove_backfile " $backfile_0 "
21
-
22
20
_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change 12
12
13
13
_prep_test " loop" " write and verify over zero copy"
14
14
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 $?
18
18
19
19
# run fio over the ublk disk
20
20
_run_fio_verify_io --filename=/dev/ublkb" ${dev_id} " --size=256M
21
21
ERR_CODE=$?
22
22
23
23
_cleanup_test " loop"
24
24
25
- _remove_backfile " $backfile_0 "
26
-
27
25
_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -8,15 +8,14 @@ ERR_CODE=0
8
8
9
9
_prep_test " loop" " mkfs & mount & umount with zero copy"
10
10
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 $?
14
15
15
16
_mkfs_mount_test /dev/ublkb" ${dev_id} "
16
17
ERR_CODE=$?
17
18
18
19
_cleanup_test " loop"
19
20
20
- _remove_backfile " $backfile_0 "
21
-
22
21
_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change 12
12
13
13
_prep_test " loop" " write and verify test"
14
14
15
- backfile_0= $( _create_backfile 256M)
15
+ _create_backfile 0 256M
16
16
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 $?
19
19
20
20
# run fio over the ublk disk
21
21
_run_fio_verify_io --filename=/dev/ublkb" ${dev_id} " --size=256M
22
22
ERR_CODE=$?
23
23
24
24
_cleanup_test " loop"
25
25
26
- _remove_backfile " $backfile_0 "
27
-
28
26
_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -10,17 +10,13 @@ ublk_io_and_remove()
10
10
{
11
11
local size=$1
12
12
shift 1
13
- local backfile=" "
14
- if echo " $@ " | grep -q " loop" ; then
15
- backfile=${*: -1}
16
- fi
13
+
17
14
DEV_ID=$( _add_ublk_dev " $@ " )
18
- _check_add_dev $TID $? " ${backfile} "
15
+ _check_add_dev $TID $?
19
16
20
17
[ " $UBLK_TEST_QUIET " -eq 0 ] && echo " run ublk IO vs. remove device(ublk add $* )"
21
18
if ! __run_io_and_remove " ${DEV_ID} " " ${size} " " no" ; then
22
19
echo " /dev/ublkc${DEV_ID} isn't removed"
23
- _remove_backfile " ${backfile} "
24
20
exit 255
25
21
fi
26
22
}
@@ -33,15 +29,15 @@ if [ ${ERR_CODE} -ne 0 ]; then
33
29
_show_result $TID $ERR_CODE
34
30
fi
35
31
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]} "
38
35
ERR_CODE=$?
39
36
if [ ${ERR_CODE} -ne 0 ]; then
40
37
_show_result $TID $ERR_CODE
41
38
fi
42
39
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] } "
44
41
ERR_CODE=$?
45
42
_cleanup_test " stress"
46
- _remove_backfile " ${BACK_FILE} "
47
43
_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -10,17 +10,13 @@ ublk_io_and_kill_daemon()
10
10
{
11
11
local size=$1
12
12
shift 1
13
- local backfile=" "
14
- if echo " $@ " | grep -q " loop" ; then
15
- backfile=${*: -1}
16
- fi
13
+
17
14
DEV_ID=$( _add_ublk_dev " $@ " )
18
- _check_add_dev $TID $? " ${backfile} "
15
+ _check_add_dev $TID $?
19
16
20
17
[ " $UBLK_TEST_QUIET " -eq 0 ] && echo " run ublk IO vs kill ublk server(ublk add $* )"
21
18
if ! __run_io_and_remove " ${DEV_ID} " " ${size} " " yes" ; then
22
19
echo " /dev/ublkc${DEV_ID} isn't removed res ${res} "
23
- _remove_backfile " ${backfile} "
24
20
exit 255
25
21
fi
26
22
}
@@ -33,15 +29,15 @@ if [ ${ERR_CODE} -ne 0 ]; then
33
29
_show_result $TID $ERR_CODE
34
30
fi
35
31
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]} "
38
35
ERR_CODE=$?
39
36
if [ ${ERR_CODE} -ne 0 ]; then
40
37
_show_result $TID $ERR_CODE
41
38
fi
42
39
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] } "
44
41
ERR_CODE=$?
45
42
_cleanup_test " stress"
46
- _remove_backfile " ${BACK_FILE} "
47
43
_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change 12
12
13
13
_prep_test " stripe" " write and verify test"
14
14
15
- backfile_0= $( _create_backfile 256M)
16
- backfile_1= $( _create_backfile 256M)
15
+ _create_backfile 0 256M
16
+ _create_backfile 1 256M
17
17
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 $?
20
20
21
21
# run fio over the ublk disk
22
22
_run_fio_verify_io --filename=/dev/ublkb" ${dev_id} " --size=512M
23
23
ERR_CODE=$?
24
24
25
25
_cleanup_test " stripe"
26
-
27
- _remove_backfile " $backfile_0 "
28
- _remove_backfile " $backfile_1 "
29
-
30
26
_show_result $TID $ERR_CODE
Original file line number Diff line number Diff line change @@ -8,17 +8,14 @@ ERR_CODE=0
8
8
9
9
_prep_test " stripe" " mkfs & mount & umount"
10
10
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 $?
15
16
16
17
_mkfs_mount_test /dev/ublkb" ${dev_id} "
17
18
ERR_CODE=$?
18
19
19
20
_cleanup_test " stripe"
20
-
21
- _remove_backfile " $backfile_0 "
22
- _remove_backfile " $backfile_1 "
23
-
24
21
_show_result $TID $ERR_CODE
You can’t perform that action at this time.
0 commit comments