• Jianchao Wang's avatar
    blk-mq: refactor the code of issue request directly · 7f556a44
    Jianchao Wang authored
    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 c616cbee ( 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: default avatarJianchao Wang <jianchao.w.wang@oracle.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    7f556a44
blk-mq.c 83.9 KB