blkcg: associate blkg when associating a device
authorDennis Zhou <dennis@kernel.org>
Wed, 5 Dec 2018 17:10:31 +0000 (12:10 -0500)
committerJens Axboe <axboe@kernel.dk>
Sat, 8 Dec 2018 05:26:37 +0000 (22:26 -0700)
commit5cdf2e3fea5ee37b66842d76a9b06e6dac0b933d
treeb460ef1ba02562982e2f000e704ce7214be4d5f3
parent892ad71f622bbf39c6de321d5ca9b0fdec237c24
blkcg: associate blkg when associating a device

Previously, blkg association was handled by controller specific code in
blk-throttle and blk-iolatency. However, because a blkg represents a
relationship between a blkcg and a request_queue, it makes sense to keep
the blkg->q and bio->bi_disk->queue consistent.

This patch moves association into the bio_set_dev macro(). This should
cover the majority of cases where the device is set/changed keeping the
two pointers consistent. Fallback code is added to
blkcg_bio_issue_check() to catch any missing paths.

Signed-off-by: Dennis Zhou <dennis@kernel.org>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
block/blk-iolatency.c
block/blk-throttle.c
include/linux/bio.h
include/linux/blk-cgroup.h