From 7946a7d3d03e7e4388878148e837f7b47b7a5e82 Mon Sep 17 00:00:00 2001 From: Joseph Qi Date: Wed, 22 May 2019 14:46:05 +0800 Subject: [PATCH] fs/writeback: wrap cgroup writeback v1 logic Wrap cgroup writeback v1 logic to prevent build errors without CONFIG_CGROUPS or CONFIG_CGROUP_WRITEBACK. Reported-by: kbuild test robot Cc: Jiufei Xue Signed-off-by: Joseph Qi Acked-by: Caspar Zhang --- include/linux/backing-dev.h | 2 ++ include/trace/events/writeback.h | 2 ++ mm/memcontrol.c | 8 +++++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 09ab0679ab33..b17ac832c964 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h @@ -481,6 +481,7 @@ static inline int inode_congested(struct inode *inode, int cong_bits) return wb_congested(&inode_to_bdi(inode)->wb, cong_bits); } +#ifdef CONFIG_CGROUPS static inline void insert_memcg_blkcg_link(struct cgroup_subsys *ss, struct list_head *tmp_links, struct css_set *cset) @@ -500,6 +501,7 @@ static inline void delete_memcg_blkcg_link(struct cgroup_subsys *ss, struct cgroup_subsys_state *css) { } +#endif #endif /* CONFIG_CGROUP_WRITEBACK */ diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h index 6fdf7eb33a11..100715d874c7 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h @@ -303,6 +303,7 @@ TRACE_EVENT(writeback_bdi_register, ) ); +#ifdef CONFIG_CGROUP_WRITEBACK TRACE_EVENT(insert_memcg_blkcg_link, TP_PROTO(struct cgroup_subsys_state *memcg_css, struct cgroup_subsys_state *blkcg_css, @@ -323,6 +324,7 @@ TRACE_EVENT(insert_memcg_blkcg_link, __entry->memcg_ino, __entry->blkcg_ino, __entry->old_blkcg_ino ) ); +#endif DECLARE_EVENT_CLASS(wbc_class, TP_PROTO(struct writeback_control *wbc, struct backing_dev_info *bdi), diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 66e731779b2a..cb37c1ce478a 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -468,8 +468,12 @@ struct cgroup_subsys_state *mem_cgroup_css_from_page(struct page *page) memcg = page->mem_cgroup; +#ifdef CONFIG_CGROUP_WRITEBACK if (!memcg || - (!cgroup_subsys_on_dfl(memory_cgrp_subsys) && !cgwb_v1)) + (!cgroup_subsys_on_dfl(memory_cgrp_subsys) && !cgwb_v1)) +#else + if (!memcg || !cgroup_subsys_on_dfl(memory_cgrp_subsys)) +#endif memcg = root_mem_cgroup; return &memcg->css; @@ -6370,6 +6374,7 @@ static int __init cgroup_memory(char *s) } __setup("cgroup.memory=", cgroup_memory); +#ifdef CONFIG_CGROUP_WRITEBACK bool cgwb_v1 = false; static int __init enable_cgroup_writeback_v1(char *s) @@ -6379,6 +6384,7 @@ static int __init enable_cgroup_writeback_v1(char *s) return 0; } __setup("cgwb_v1", enable_cgroup_writeback_v1); +#endif /* * subsys_initcall() for memory controller. -- GitLab