• Jens Axboe's avatar
    blk-mq: don't fail allocating driver tag for stopped hw queue · 12d70958
    Jens Axboe authored
    We rely on blk_mq_get_driver_tag() not failing if 'wait' is true,
    but it currently fails in that case if the queue happens to be
    stopped at the time of the call.
    
    We don't need to check for stopped here, it's just assigning
    the tag. If the queue is stopped, we'll handle it when
    attempting to run the queue.
    
    This fixes a stall/crash on flush intensive workloads, where
    we proceed to process a flush that doesn't have a valid tag
    assigned.
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    12d70958
blk-mq.c 67.5 KB