summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2019-06-27 23:39:51 +0300
committerJens Axboe <axboe@kernel.dk>2019-07-10 18:00:57 +0300
commit653c45c6b90c9659facbef10546d1f3a8e37d0cf (patch)
tree41f5f5435fdb7c50c7ad682fc1dc214a4f33a1dc
parent27b36d8fa81fa8274fb72f4eb1484026f6b6daa8 (diff)
downloadlinux-653c45c6b90c9659facbef10546d1f3a8e37d0cf.tar.xz
blkcg, writeback: Implement wbc_blkcg_css()
Add a helper to determine the target blkcg from wbc. Reviewed-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--include/linux/writeback.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index 33a50fa09fac..e056a22075cf 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -11,6 +11,7 @@
#include <linux/flex_proportions.h>
#include <linux/backing-dev-defs.h>
#include <linux/blk_types.h>
+#include <linux/blk-cgroup.h>
struct bio;
@@ -101,6 +102,16 @@ static inline int wbc_to_write_flags(struct writeback_control *wbc)
return 0;
}
+static inline struct cgroup_subsys_state *
+wbc_blkcg_css(struct writeback_control *wbc)
+{
+#ifdef CONFIG_CGROUP_WRITEBACK
+ if (wbc->wb)
+ return wbc->wb->blkcg_css;
+#endif
+ return blkcg_root_css;
+}
+
/*
* A wb_domain represents a domain that wb's (bdi_writeback's) belong to
* and are measured against each other in. There always is one global