]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
block: don't defer flushes on blk-mq + scheduling
authorJens Axboe <axboe@fb.com>
Fri, 17 Feb 2017 18:40:44 +0000 (11:40 -0700)
committerJens Axboe <axboe@fb.com>
Fri, 17 Feb 2017 19:35:47 +0000 (12:35 -0700)
commit7520872c0cf4d3df6d74242c6edfb9e70a47df4d
treee33287e1a152ee6d2f2b47f1eb3df0a6c66ae955
parent64765a75ef258c802f795558d00a5a1864c531fc
block: don't defer flushes on blk-mq + scheduling

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: Jens Axboe <axboe@fb.com>
Reviewed-by: Omar Sandoval <osandov@fb.com>
block/blk-flush.c