[PATCH] mm: compaction: fix dummy declarations
From: Arnd Bergmann
Date: Wed Jun 15 2016 - 17:39:23 EST
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.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Fixes: akpm-current ("mm: migrate: support non-lru movable page migration")
---
include/linux/compaction.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/linux/compaction.h b/include/linux/compaction.h
index c6b47c861cea..8f0297c7e741 100644
--- a/include/linux/compaction.h
+++ b/include/linux/compaction.h
@@ -227,8 +227,9 @@ static inline void wakeup_kcompactd(pg_data_t *pgdat, int order, int classzone_i
#endif /* CONFIG_COMPACTION */
-#if defined(CONFIG_COMPACTION) && defined(CONFIG_SYSFS) && defined(CONFIG_NUMA)
struct node;
+
+#if defined(CONFIG_COMPACTION) && defined(CONFIG_SYSFS) && defined(CONFIG_NUMA)
extern int compaction_register_node(struct node *node);
extern void compaction_unregister_node(struct node *node);
--
2.9.0