blk-mq: don't use sync workqueue flushing from drivers
authorJens Axboe <axboe@fb.com>
Wed, 3 May 2017 17:08:14 +0000 (11:08 -0600)
committerJens Axboe <axboe@fb.com>
Wed, 3 May 2017 17:44:43 +0000 (11:44 -0600)
commit2719aa217e0d025dbfce74ac777815776ccec072
tree1336e56bf590c61da30f2fe56a3d3dfeb563e70f
parent6f63503c8af569fcd60bb27dfe740d13be0030f6
blk-mq: don't use sync workqueue flushing from drivers

A previous commit introduced the sync flush, which we need from
internal callers like blk_mq_quiesce_queue(). However, we also
call the stop helpers from drivers, particularly from ->queue_rq()
when we have to stop processing for a bit. We can't block from
those locations, and we don't have to guarantee that we're
fully flushed.

Fixes: 9f993737906b ("blk-mq: unify hctx delayed_run_work and run_work")
Reviewed-by: Bart Van Assche <Bart.VanAssche@sandisk.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c