diff options
author | Jens Axboe <axboe@fb.com> | 2014-06-03 11:59:49 -0600 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-06-03 21:04:39 -0600 |
commit | ff87bcec197774f938fbd1fe996068005f3dfb3c (patch) | |
tree | 700871e846f19f24a2d16b61e62d0ce01a706eb8 /block/blk-mq.c | |
parent | e6cdb0929fe6726ba5203fc5529b74564d98a9e9 (diff) | |
download | kernel-common-ff87bcec197774f938fbd1fe996068005f3dfb3c.tar.gz kernel-common-ff87bcec197774f938fbd1fe996068005f3dfb3c.tar.bz2 kernel-common-ff87bcec197774f938fbd1fe996068005f3dfb3c.zip |
blk-mq: handle NULL req return from blk_map_request in single queue mode
blk_mq_map_request() can return NULL if we fail entering the queue
(dying, or removed), in which case it has already ended IO on the
bio. So nothing more to do, except just return.
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-mq.c')
-rw-r--r-- | block/blk-mq.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index 3bb4cfec276b..96e6eb638f00 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1276,6 +1276,8 @@ static void blk_sq_make_request(struct request_queue *q, struct bio *bio) return; rq = blk_mq_map_request(q, bio, &data); + if (unlikely(!rq)) + return; if (unlikely(is_flush_fua)) { blk_mq_bio_to_request(rq, bio); |