• Jens Axboe's avatar
    null_blk: add 'requeue' fault attribute · 24941b90
    Jens Axboe authored
    Similarly to the support we have for testing/faking timeouts for
    null_blk, this adds support for triggering a requeue condition.
    Considering the issues around restart we've been seeing, this should be
    a useful addition to the testing arsenal to ensure that we are handling
    requeue conditions correctly.
    
    This works for queue mode 1 (legacy request_fn based path) and 2 (blk-mq
    path), as there's no good way to do requeue with a bio based driver.
    This is similar to the timeout path. For the blk-mq path, we alternate
    between passing back BLK_STS_RESOURCE and manually calling
    blk_mq_requeue_request() in the driver. The former will hit the core
    requeue path, while the latter exercises the IO scheduler requeue
    path.
    Reviewed-by: default avatarBart Van Assche <bart.vanassche@wdc.com>
    Reviewed-by: default avatarOmar Sandoval <osandov@fb.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    24941b90
null_blk.c 45.7 KB