From a647271435c87ca1dc595dd8c92ae28f1d00c7da Mon Sep 17 00:00:00 2001 From: Hao Xu Date: Fri, 6 Nov 2020 17:34:59 +0800 Subject: [PATCH 2150/2944] alinux: io_uring: revert queue_is_mq() to queue_is_rq_based() to #31243040 In commit 1d658dc411bd, queue_is_mq() is imported, which is to check if a device request queue is bio based or request based by request_queue->mq_ops. It works for upstream since both single-queue model and multi-queue model leverage request_queue->mq_ops while in our kernel request->request_fn is used for single-queue device. So revert queue_is_mq() to queue_is_rq_based(). which checks both request_queue->request_fn and request_queue->mq_ops. Fixes: 1d658dc411bd ("io_uring: catch -EIO from buffered issue request failure") Signed-off-by: Hao Xu Acked-by: Joseph Qi --- fs/io_uring.c | 2 +- include/linux/blkdev.h | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/fs/io_uring.c b/fs/io_uring.c index 28a55e8..a4ebe52 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -2231,7 +2231,7 @@ static struct file *__io_file_get(struct io_submit_state *state, int fd) static bool io_bdev_nowait(struct block_device *bdev) { #ifdef CONFIG_BLOCK - return !bdev || queue_is_mq(bdev_get_queue(bdev)); + return !bdev || queue_is_rq_based(bdev_get_queue(bdev)); #else return true; #endif diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index ce347cf..9aeffc6 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -812,11 +812,6 @@ static inline bool queue_is_rq_based(struct request_queue *q) return q->request_fn || q->mq_ops; } -static inline bool queue_is_mq(struct request_queue *q) -{ - return q->mq_ops; -} - static inline unsigned int blk_queue_cluster(struct request_queue *q) { return q->limits.cluster; -- 1.8.3.1