Stefan Roesch 56f99b8d06 block: blk_queue_enter() / __bio_queue_enter() must return -EAGAIN for nowait
Today blk_queue_enter() and __bio_queue_enter() return -EBUSY for the
nowait code path. This is not correct: they should return -EAGAIN
instead.

This problem was detected by fio. The following command exposed the
above problem:

t/io_uring -p0 -d128 -b4096 -s32 -c32 -F1 -B0 -R0 -X1 -n24 -P1 -u1 -O0 /dev/ng0n1

By applying the patch, the retry case is handled correctly in the slow
path.

Signed-off-by: Stefan Roesch <shr@fb.com>
Fixes: bfd343aa1718 ("blk-mq: don't wait in blk_mq_queue_enter() if __GFP_WAIT isn't set")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-09-13 15:06:39 -06:00
..
2022-06-27 06:29:12 -06:00
2022-07-14 12:14:30 -06:00
2020-03-17 20:55:21 +01:00
2022-07-14 12:14:30 -06:00
2022-03-31 12:58:38 -06:00
2022-02-02 07:49:59 -07:00
2022-03-21 16:48:55 -07:00
2022-07-14 12:14:30 -06:00
2022-02-02 07:49:59 -07:00
2022-03-07 12:48:35 -07:00