• Jens Axboe's avatar
    block: don't defer flushes on blk-mq + scheduling · 7520872c
    Jens Axboe authored
    For blk-mq with scheduling, we can potentially end up with ALL
    driver tags assigned and sitting on the flush queues. If we
    defer because of an inlfight data request, then we can deadlock
    if that data request doesn't already have a tag assigned.
    
    This fixes a deadlock with running the xfs/297 xfstest, where
    thousands of syncs can cause the drive queue to stall.
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    Reviewed-by: default avatarOmar Sandoval <osandov@fb.com>
    7520872c
blk-flush.c 16.7 KB