2017-04-21 21:42:14

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] cgroup: define empty cftype structure for !CONFIG_CGROUPS

There is a new forward declaration for two global cftype arrays, but
that fails to build when CONFIG_CGROUPS is disabled:

In file included from /git/arm-soc/block/bfq-iosched.c:105:0:
block/bfq-iosched.h:820:22: error: array type has incomplete element type 'struct cftype'
extern struct cftype bfq_blkcg_legacy_files[];
extern struct cftype bfq_blkg_files[];

This adds an empty definition for the type to make it build again.

Fixes: ea25da48086d ("block, bfq: split bfq-iosched.c into multiple source files")
Signed-off-by: Arnd Bergmann <[email protected]>
---
include/linux/cgroup-defs.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h
index 21745946cae1..cb3cc9588622 100644
--- a/include/linux/cgroup-defs.h
+++ b/include/linux/cgroup-defs.h
@@ -556,6 +556,9 @@ static inline void cgroup_threadgroup_change_end(struct task_struct *tsk)

#else /* CONFIG_CGROUPS */

+struct cftype {
+};
+
#define CGROUP_SUBSYS_COUNT 0

static inline void cgroup_threadgroup_change_begin(struct task_struct *tsk)
--
2.9.0


2017-04-21 21:57:18

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] cgroup: define empty cftype structure for !CONFIG_CGROUPS

On 04/21/2017 03:41 PM, Arnd Bergmann wrote:
> There is a new forward declaration for two global cftype arrays, but
> that fails to build when CONFIG_CGROUPS is disabled:
>
> In file included from /git/arm-soc/block/bfq-iosched.c:105:0:
> block/bfq-iosched.h:820:22: error: array type has incomplete element type 'struct cftype'
> extern struct cftype bfq_blkcg_legacy_files[];
> extern struct cftype bfq_blkg_files[];
>
> This adds an empty definition for the type to make it build again.

This was already fixed up yesterday:

http://git.kernel.dk/cgit/linux-block/commit/?h=for-4.12/block&id=659b3394eb67a5e274d7e7348633b508510a5c8f

--
Jens Axboe