summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2015-05-22 17:13:23 -0400
committerJens Axboe <axboe@fb.com>2015-06-02 08:33:34 -0600
commitfd383c2d3cae146337cea809de0d622b8b887e6c (patch)
tree649a13a93cb5cf05c43bb7a9b91efd94c05fac29
parentec438699a9ae0856c2ce20a50dd39cdc7e92a732 (diff)
downloadlinux-exynos-fd383c2d3cae146337cea809de0d622b8b887e6c.tar.gz
linux-exynos-fd383c2d3cae146337cea809de0d622b8b887e6c.tar.bz2
linux-exynos-fd383c2d3cae146337cea809de0d622b8b887e6c.zip
blkcg: implement task_get_blkcg_css()
Implement a wrapper around task_get_css() to acquire the blkcg css for a given task. The wrapper is necessary for cgroup writeback support as there will be places outside blkcg proper trying to acquire blkcg_css and blkio_cgrp_id will be undefined when !CONFIG_BLK_CGROUP. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r--include/linux/blk-cgroup.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/blk-cgroup.h b/include/linux/blk-cgroup.h
index 65f0c178fd04..4dc643f2046e 100644
--- a/include/linux/blk-cgroup.h
+++ b/include/linux/blk-cgroup.h
@@ -195,6 +195,12 @@ static inline struct blkcg *bio_blkcg(struct bio *bio)
return task_blkcg(current);
}
+static inline struct cgroup_subsys_state *
+task_get_blkcg_css(struct task_struct *task)
+{
+ return task_get_css(task, blkio_cgrp_id);
+}
+
/**
* blkcg_parent - get the parent of a blkcg
* @blkcg: blkcg of interest
@@ -573,6 +579,12 @@ struct blkcg_policy {
#define blkcg_root_css ((struct cgroup_subsys_state *)ERR_PTR(-EINVAL))
+static inline struct cgroup_subsys_state *
+task_get_blkcg_css(struct task_struct *task)
+{
+ return NULL;
+}
+
#ifdef CONFIG_BLOCK
static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, void *key) { return NULL; }