blk-wbt: account and throttle O_DIRECT
Before this patch, we had two buckets - one for kswapd writes and one
for normal buffered writes. The two bucket approach was introduced to
avoid starvation between the two different types of writes. Before that,
we treated all non-direct writes identically.
This patch adds a third bucket, for O_DIRECT writes. Mixed workloads,
with both lots of buffered and O_DIRECT writes, O_DIRECT writes are
unnecessarily starving the buffered writes. Account and throttle
O_DIRECT writes independently.
Signed-off-by: Jens Axboe <axboe@kernel.dk>