Mark a REQ_NOWAIT request for a non-mq queue as unspported instead of retryable since otherwise the io_uring layer will keep resubmitting the request. Signed-off-by: Bijan Mottahedeh <bijan.mottahedeh@xxxxxxxxxx> --- block/blk-core.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 5847993..3807140 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -962,14 +962,10 @@ static inline blk_status_t blk_check_zone_append(struct request_queue *q, } /* - * Non-mq queues do not honor REQ_NOWAIT, so complete a bio - * with BLK_STS_AGAIN status in order to catch -EAGAIN and - * to give a chance to the caller to repeat request gracefully. + * Non-mq queues do not honor REQ_NOWAIT, return -EOPNOTSUPP. */ - if ((bio->bi_opf & REQ_NOWAIT) && !queue_is_mq(q)) { - status = BLK_STS_AGAIN; - goto end_io; - } + if ((bio->bi_opf & REQ_NOWAIT) && !queue_is_mq(q)) + goto not_supported; if (should_fail_bio(bio)) goto end_io; -- 1.8.3.1