• Dongli Zhang's avatar
    null_blk: force complete for timeout request · 32215469
    Dongli Zhang authored
    The commit 7b11eab0 ("blk-mq: blk-mq: provide forced completion
    method") exports new API to force a request to complete without error
    injection.
    
    There should be no error injection when completing a request by timeout
    handler.
    
    Otherwise, the below would hang because timeout handler is failed.
    
    echo 100 > /sys/kernel/debug/fail_io_timeout/probability
    echo 1000 > /sys/kernel/debug/fail_io_timeout/times
    echo 1 > /sys/block/nullb0/io-timeout-fail
    dd if=/dev/zero of=/dev/nullb0 bs=512 count=1 oflag=direct
    
    With this patch, the timeout handler is able to complete the IO.
    Signed-off-by: default avatarDongli Zhang <dongli.zhang@oracle.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    32215469
null_blk_main.c 46.7 KB