summaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2023-05-19 06:40:50 +0200
committerJens Axboe <axboe@kernel.dk>2023-05-19 19:52:42 -0600
commit9a67aa52a42b31ad44220cc218df3b75a5cd5d05 (patch)
treeddf14cd0f48f2907aaf4c19f369c1a5efe2ceead /include/linux/blkdev.h
parent1e82fadfc6b96ca79f69d0bcf938d31032bb43d2 (diff)
downloadlinux-stable-9a67aa52a42b31ad44220cc218df3b75a5cd5d05.tar.gz
linux-stable-9a67aa52a42b31ad44220cc218df3b75a5cd5d05.tar.bz2
linux-stable-9a67aa52a42b31ad44220cc218df3b75a5cd5d05.zip
blk-mq: don't use the requeue list to queue flush commands
Currently both requeues of commands that were already sent to the driver and flush commands submitted from the flush state machine share the same requeue_list struct request_queue, despite requeues doing head insertions and flushes not. Switch to using two separate lists instead. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Link: https://lore.kernel.org/r/20230519044050.107790-8-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 3952c52d6cd1..fe99948688df 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -487,6 +487,7 @@ struct request_queue {
* for flush operations
*/
struct blk_flush_queue *fq;
+ struct list_head flush_list;
struct list_head requeue_list;
spinlock_t requeue_lock;