Message ID | 20111123150004.59be04eb36c480ec44edc9d5@canb.auug.org.au |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On Wed, Nov 23, 2011 at 03:00:04PM +1100, Stephen Rothwell wrote: > Hi all, > > After merging the final tree, today's linux-next build (powerpc allnoconfig) > failed like this: > > In file included from include/linux/netdevice.h:53:0, > from include/linux/icmpv6.h:173, > from include/linux/ipv6.h:220, > from include/net/ipv6.h:16, > from include/linux/sunrpc/clnt.h:26, > from include/linux/nfs_fs.h:50, > from init/do_mounts.c:20: > include/net/netprio_cgroup.h:23:29: error: field 'css' has incomplete type > > And several more similar. > > Caused by commit 5bc1421e34ec ("net: add network priority cgroup > infrastructure (v4)"). > > I have added the following (minimal, but probably not optimal) patch for > today: > > From: Stephen Rothwell <sfr@canb.auug.org.au> > Date: Wed, 23 Nov 2011 14:49:49 +1100 > Subject: [PATCH] net: fix build error in network priority cgroup > infrastructure > > Fixes this error: > > In file included from include/linux/netdevice.h:53:0, > from include/linux/icmpv6.h:173, > from include/linux/ipv6.h:220, > from include/net/ipv6.h:16, > from include/linux/sunrpc/clnt.h:26, > from include/linux/nfs_fs.h:50, > from init/do_mounts.c:20: > include/net/netprio_cgroup.h:23:29: error: field 'css' has incomplete type > > When CONFIG_CGROUPS is not set. > > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> > --- > include/net/netprio_cgroup.h | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/include/net/netprio_cgroup.h b/include/net/netprio_cgroup.h > index c432e99..da71b91 100644 > --- a/include/net/netprio_cgroup.h > +++ b/include/net/netprio_cgroup.h > @@ -20,7 +20,9 @@ > > struct cgroup_netprio_state > { > +#ifdef CONFIG_CGROUPS > struct cgroup_subsys_state css; > +#endif > u32 prioidx; > }; > > -- > 1.7.7.3 > > -- > Cheers, > Stephen Rothwell sfr@canb.auug.org.au FYI, I've got a more appropriate fix building right now getting posted for the net-next tree. I'll cc you on it. Neil -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 23 Nov 2011 07:09:37 -0500 Neil Horman <nhorman@tuxdriver.com> wrote: > On Wed, Nov 23, 2011 at 03:00:04PM +1100, Stephen Rothwell wrote: > > Hi all, > > > > After merging the final tree, today's linux-next build (powerpc allnoconfig) > > failed like this: > > > > In file included from include/linux/netdevice.h:53:0, > > from include/linux/icmpv6.h:173, > > from include/linux/ipv6.h:220, > > from include/net/ipv6.h:16, > > from include/linux/sunrpc/clnt.h:26, > > from include/linux/nfs_fs.h:50, > > from init/do_mounts.c:20: > > include/net/netprio_cgroup.h:23:29: error: field 'css' has incomplete type > > ... > > FYI, I've got a more appropriate fix building right now getting posted for the > net-next tree. I'll cc you on it. This header looks to be pretty screwed up: - Extraneous newline after "struct cgroup_netprio_state" - Weird special-casing of the CONFIG_CGROUPS && !CONFIG_NETPRIO_CGROUP case looks suspicious. - Unnecessary use of IS_ENABLED - jsut use #ifdef CONFIG_NETPRIO_CGROUP - Adds code stubs specifically for the CONFIG_CGROUPS && !CONFIG_NETPRIO_CGROUP case. Doesn't add any for the !CONFIG_CGROUPS case. Seems wrong. - Uses empty macros for the sock_update_netprioidx() and skb_update_prio() which can cause build errors. Should be changed to plain old typechecked inline C functions. If that causes build errors then something else is screwed up. - Adds a stub for skb_update_prio() but there's no non-stub version of it. also - doesn't compile Needs a thorough redo. Please take a look at the other cgroup subsystem headers. The basic pattern is #ifdef CONFIG_FOO_CGROUP <definitions and declarations> #else <any needed stubs go here> #endif And that's it. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Andrew Morton <akpm@linux-foundation.org> Date: Wed, 23 Nov 2011 15:02:13 -0800 > Needs a thorough redo. Please take a look at the other cgroup > subsystem headers. The basic pattern is > > #ifdef CONFIG_FOO_CGROUP > <definitions and declarations> > #else > <any needed stubs go here> > #endif > > And that's it. I told Neil to put the stub in net/core/dev.c since that's the one and only call site. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/net/netprio_cgroup.h b/include/net/netprio_cgroup.h index c432e99..da71b91 100644 --- a/include/net/netprio_cgroup.h +++ b/include/net/netprio_cgroup.h @@ -20,7 +20,9 @@ struct cgroup_netprio_state { +#ifdef CONFIG_CGROUPS struct cgroup_subsys_state css; +#endif u32 prioidx; };