On Thu, 16 Jun 2016 08:30:28 +0900 Minchan Kim <minc...@kernel.org> wrote:
> Hi Andrew, > > On Wed, Jun 15, 2016 at 02:48:25PM -0700, Andrew Morton wrote: > > On Wed, 15 Jun 2016 23:39:12 +0200 Arnd Bergmann <a...@arndb.de> wrote: > > > > > We get a build error in several test builds after a recent code rework: > > > > > > In file included from include/linux/balloon_compaction.h:48:0, > > > from mm/balloon_compaction.c:11: > > > include/linux/compaction.h:237:122: error: 'struct node' declared inside > > > parameter list will not be visible outside of this definition or > > > declaration [-Werror] > > > > > > The patch that likely introduced the problem added a forward declaration > > > for 'struct node' in linux/compaction.h, but only in one of two instances. > > > > > > This moves the declaration out of the #ifdef so we always get it. > > > > http://ozlabs.org/~akpm/mmots/broken-out/mm-balloon-use-general-non-lru-movable-page-feature-fix.patch > > should fix this. I guess I should do another -mm. > > > > [1] solves the issues so we can revert your patch with removing remaining > forward declaration in below code snippet. > If I should resend patch with removing remainiang forward declaration part, > please tell me. > > Thanks. > > compaction.h: > > #if defined(CONFIG_COMPACTION) && defined(CONFIG_SYSFS) && > defined(CONFIG_NUMA) > struct node; <----- Here > extern int compaction_register_node(struct node *node); > ... > #else > ... > > #endif /* CONFIG_COMPACTION && CONFIG_SYSFS && CONFIG_NUMA */ > > > [1] > http://ozlabs.org/~akpm/mmots/broken-out/mm-fix-build-warnings-in-linux-compactionh.patch > I think I'll retain mm-balloon-use-general-non-lru-movable-page-feature-fix.patch for bisectability reasons and I'll revert mm-balloon-use-general-non-lru-movable-page-feature-fix.patc within mm-fix-build-warnings-in-linux-compactionh.patch, see how that goes.