Skip to content
  • Shaohua Li's avatar
    blk-mq: fix FUA request hang · b2387ddc
    Shaohua Li authored
    
    
    When a FUA request enters its DATA stage of flush pipeline, the
    request is added to mq requeue list, the request will then be added to
    ctx->rq_list. blk_mq_attempt_merge() might merge the request with a bio.
    Later when the request is finished the flush pipeline, the
    request->__data_len is 0. Then I only saw the bio gets endio called, the
    original request never finish.
    
    Adding REQ_FLUSH_SEQ into REQ_NOMERGE_FLAGS looks an easy fix.
    
    stable: 3.15+
    
    Signed-off-by: default avatarShaohua Li <shli@fb.com>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    b2387ddc