OSDN Git Service

cgroup, block: implement task_get_css() and use it in bio_associate_current()
authorTejun Heo <tj@kernel.org>
Fri, 22 May 2015 21:13:22 +0000 (17:13 -0400)
committerJens Axboe <axboe@fb.com>
Tue, 2 Jun 2015 14:33:34 +0000 (08:33 -0600)
commitec438699a9ae0856c2ce20a50dd39cdc7e92a732
treef7406e5c235380474bf829639feed12bf0711101
parent496d5e7560dbb84399dbd92316fc33857aa83900
cgroup, block: implement task_get_css() and use it in bio_associate_current()

bio_associate_current() currently open codes task_css() and
css_tryget_online() to find and pin $current's blkcg css.  Abstract it
into task_get_css() which is implemented from cgroup side.  As a task
is always associated with an online css for every subsystem except
while the css_set update is propagating, task_get_css() retries till
css_tryget_online() succeeds.

This is a cleanup and shouldn't lead to noticeable behavior changes.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/bio.c
include/linux/cgroup.h