]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
blkcg: convert blkg_lookup_create() to find closest blkg
authorDennis Zhou <dennis@kernel.org>
Wed, 5 Dec 2018 17:10:28 +0000 (12:10 -0500)
committerJens Axboe <axboe@kernel.dk>
Sat, 8 Dec 2018 05:26:36 +0000 (22:26 -0700)
commitbeea9da07d8a6228a7e4a31a83f9478d513bf03f
tree263661b03b835c4715fbeb97c2bdbd0331233001
parentb978962ad4f7f9c06e5aa07b2a9b22f6d600456c
blkcg: convert blkg_lookup_create() to find closest blkg

There are several scenarios where blkg_lookup_create() can fail such as
the blkcg dying, request_queue is dying, or simply being OOM. Most
handle this by simply falling back to the q->root_blkg and calling it a
day.

This patch implements the notion of closest blkg. During
blkg_lookup_create(), if it fails to create, return the closest blkg
found or the q->root_blkg. blkg_try_get_closest() is introduced and used
during association so a bio is always attached to a blkg.

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