block: use bio_queue_enter instead of blk_queue_enter in bio_poll
authorChristoph Hellwig <hch@lst.de>
Mon, 23 May 2022 12:43:02 +0000 (14:43 +0200)
committerJens Axboe <axboe@kernel.dk>
Sat, 28 May 2022 12:14:35 +0000 (06:14 -0600)
We want to have a valid live gendisk to call ->poll and not just a
request_queue, so call the right helper.

Fixes: 3e08773c3841 ("block: switch polling to be bio based")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220523124302.526186-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c

index 23312df..f002fed 100644 (file)
@@ -943,7 +943,7 @@ int bio_poll(struct bio *bio, struct io_comp_batch *iob, unsigned int flags)
 
        blk_flush_plug(current->plug, false);
 
-       if (blk_queue_enter(q, BLK_MQ_REQ_NOWAIT))
+       if (bio_queue_enter(bio))
                return 0;
        if (queue_is_mq(q)) {
                ret = blk_mq_poll(q, cookie, iob, flags);