• Kemeng Shi's avatar
    blk-mq: remove unnecessary error count and check in blk_mq_dispatch_rq_list · 4ea58fe4
    Kemeng Shi authored
    blk_mq_dispatch_rq_list will notify if hctx is busy in return bool. It will
    return true if we are not busy and can handle more and return false on the
    opposite. Inside blk_mq_dispatch_rq_list, errors is only used if list is
    empty and we will return true if list is empty and (errors + queued) != 0.
    
    There are three types of status returned from request:
     -busy error BLK_STS*_RESOURCE: the failed request will be added back
    to list and list will not be empty.
     -BLK_STS_OK: We count queued for BLK_STS_OK
     -rest error: We count errors for rest error
    
    If list is empty, there is no request gets busy error then (errors +
    queued) will be total requests in the list which is checked not empty at
    beginning of blk_mq_dispatch_rq_list. So (errors + queued) != 0 is always
    met if list is empty. Then the (errors + queued) != 0 check and errors
    number count is not needed.
    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>
    4ea58fe4
blk-mq.c 123 KB