mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 21:51:05 +00:00
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>
This commit is contained in:
parent
892ad71f62
commit
5cdf2e3fea
5 changed files with 14 additions and 12 deletions
|
@ -491,12 +491,14 @@ do { \
|
|||
bio_clear_flag(bio, BIO_THROTTLED);\
|
||||
(bio)->bi_disk = (bdev)->bd_disk; \
|
||||
(bio)->bi_partno = (bdev)->bd_partno; \
|
||||
bio_associate_blkg(bio); \
|
||||
} while (0)
|
||||
|
||||
#define bio_copy_dev(dst, src) \
|
||||
do { \
|
||||
(dst)->bi_disk = (src)->bi_disk; \
|
||||
(dst)->bi_partno = (src)->bi_partno; \
|
||||
bio_clone_blkcg_association(dst, src); \
|
||||
} while (0)
|
||||
|
||||
#define bio_dev(bio) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue