]> git.baikalelectronics.ru Git - kernel.git/commit
blk-mq: refactor the code of issue request directly
authorJianchao Wang <jianchao.w.wang@oracle.com>
Fri, 14 Dec 2018 01:28:18 +0000 (09:28 +0800)
committerJens Axboe <axboe@kernel.dk>
Sun, 16 Dec 2018 15:33:57 +0000 (08:33 -0700)
commit194a690b89311d1c1818d10d903c5d4611f608b6
treee4712b5c0ac800c08863d55fe4c4781d7ffc4f73
parent429d50bcb06a0dad243250a0e73165d1914819fe
blk-mq: refactor the code of issue request directly

Merge blk_mq_try_issue_directly and __blk_mq_try_issue_directly
into one interface to unify the interfaces to issue requests
directly. The merged interface takes over the requests totally,
it could insert, end or do nothing based on the return value of
.queue_rq and 'bypass' parameter. Then caller needn't any other
handling any more and then code could be cleaned up.

And also the commit 85dbe6d7 ( blk-mq: punt failed direct issue
to dispatch list ) always inserts requests to hctx dispatch list
whenever get a BLK_STS_RESOURCE or BLK_STS_DEV_RESOURCE, this is
overkill and will harm the merging. We just need to do that for
the requests that has been through .queue_rq. This patch also
could fix this.

Signed-off-by: Jianchao Wang <jianchao.w.wang@oracle.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c