[PATCH 3/9] blkcg, writeback: Implement wbc_blkcg_css()

From: Tejun Heo
Date: Sat Jun 15 2019 - 14:30:38 EST


Add a helper to determine the target blkcg from wbc.

Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
Reviewed-by: Josef Bacik <josef@xxxxxxxxxxxxxx>
---
include/linux/writeback.h | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index b8f5f000cde4..800ee031e88a 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;

@@ -93,6 +94,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
--
2.17.1