blk-wbt: don't maintain inflight counts if disabled
authorJens Axboe <axboe@kernel.dk>
Thu, 23 Aug 2018 15:34:46 +0000 (09:34 -0600)
committerJens Axboe <axboe@kernel.dk>
Thu, 23 Aug 2018 15:34:46 +0000 (09:34 -0600)
commitc125311d96b1bfcce0f5930a4f0fdfe39ea14f7c
tree64bef9e91ac97c6c1d4fbd39b6f259b08ddc1670
parentc45e6a037a536530bd25781ac7c989e52deb2a63
blk-wbt: don't maintain inflight counts if disabled

A previous commit removed the ability to have per-rq flags. We used
those flags to maintain inflight counts. Since we don't have those
anymore, we have to always maintain inflight counts, even if wbt is
disabled. This is clearly suboptimal.

Add a queue quiesce around changing the wbt latency settings from sysfs
to work around this. With that, we can reliably put the enabled check in
our bio_to_wbt_flags(), since we know the WBT_TRACKED flag will be
consistent for the lifetime of the request.

Fixes: c1c80384c8f ("block: remove external dependency on wbt_flags")
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-sysfs.c
block/blk-wbt.c