]> www.infradead.org Git - users/hch/blktests.git/commitdiff
srp/011: Avoid $dev becoming invalid during test
authorXiao Yang <yangx.jy@fujitsu.com>
Wed, 18 May 2022 06:44:17 +0000 (14:44 +0800)
committerShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Thu, 26 May 2022 04:21:08 +0000 (13:21 +0900)
$dev will become invalid when log_out has been done
and fio doesn't run yet. In this case subsequent fio
throws the following error:
-------------------------------------
    From diff -u 011.out 011.out.bad
    Configured SRP target driver
    -Passed

    From 011.full:
    fio: looks like your file system does not support direct=1/buffered=0
    fio: destination does not support O_DIRECT
    run_fio exit code: 1
-------------------------------------
This issue happens randomly.

Try to fix the issue by holding $dev before test.

Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
Reviewed-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
tests/srp/011

index 29b2c03bbe14faf172a1e556f5f28a8300144c4b..63ff332c4cd02240a791cb059857764e39973d8a 100755 (executable)
@@ -12,6 +12,8 @@ test_disconnect_repeatedly() {
 
        use_blk_mq y y || return $?
        dev=$(get_bdev 0) || return $?
+       # Hold $dev
+       exec 3< "$dev"
        simulate_network_failure_loop "$dev" "$TIMEOUT" &
        run_fio --verify=md5 --rw=randwrite --bs=4K --loops=10000 \
                --ioengine=libaio --iodepth=64 --iodepth_batch=32 \
@@ -22,6 +24,8 @@ test_disconnect_repeatedly() {
                >>"$FULL"
        fio_status=$?
        wait
+       # Release $dev
+       exec 3<&-
        log_in
        return $fio_status
 }