• Kemeng Shi's avatar
    blk-mq: simplify flush check in blk_mq_dispatch_rq_list · e4ef2e05
    Kemeng Shi authored
    1. Remove check of needs_resource and ret == BLK_STS_DEV_RESOURCE.
    For busy error BLK_STS*_RESOURCE, request will always be added
    back to list, so need_resource will not be true and ret will
    not be == BLK_STS_DEV_RESOURCE if list is empty. We could remove
    these dead check.
    
    2. Check ret of last request instead of errors
    If list is empty, we only need to explicitly commit_rqs
    if error happens at last request which is stored in ret. So check
    ret of last request instead of errors to remove unnecessary
    commit_rqs triggered by errors returned from previous request.
    Signed-off-by: default avatarKemeng Shi <shikemeng@huaweicloud.com>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    e4ef2e05
blk-mq.c 123 KB