[2.6 patch] linux/swap.h must #include <linux/pagemap.h>

From: Adrian Bunk
Date: Sat Jul 26 2008 - 13:39:18 EST


On Sat, Jul 26, 2008 at 07:18:05PM +0200, Haavard Skinnemoen wrote:
> This fixes the following compile error on avr32, introduced by
> commit ba92a43dbaee339cf5915ef766d3d3ffbaaf103c
> (exec: remove some includes):
>
> In file included from include/asm/tlb.h:24,
> from fs/exec.c:55:
> include/asm-generic/tlb.h: In function 'tlb_flush_mmu':
> include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages'
> include/asm-generic/tlb.h: In function 'tlb_remove_page':
> include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release'
> make[1]: *** [fs/exec.o] Error 1
>
> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx>
> ---
> include/asm-generic/tlb.h | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h
> index f490e43..f85f3a2 100644
> --- a/include/asm-generic/tlb.h
> +++ b/include/asm-generic/tlb.h
> @@ -13,6 +13,7 @@
> #ifndef _ASM_GENERIC__TLB_H
> #define _ASM_GENERIC__TLB_H
>
> +#include <linux/pagemap.h>
> #include <linux/swap.h>
> #include <asm/pgalloc.h>
> #include <asm/tlbflush.h>

The patch is not the correct fix since the actual problem comes from
free_pages_and_swap_cache() in swap.h

Patch is below, but it has not yet gotten enough testing that I'm 100%
confident it doesn't break anything else...

cu
Adrian


<-- snip -->


This patch fixes the following build error:

<-- snip -->

...
CC fs/exec.o
In file included from include2/asm/tlb.h:24,
from /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/exec.c:55:
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/tlb.h: In function 'tlb_flush_mmu':
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages'
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/tlb.h: In function 'tlb_remove_page':
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release'
make[2]: *** [fs/exec.o] Error 1

<-- snip -->

Signed-off-by: Adrian Bunk <bunk@xxxxxxxxxx>

---
2dab88e59c7ec942df29bbdee041e54edeee1d25
diff --git a/include/linux/swap.h b/include/linux/swap.h
index 0b33776..f835058 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -7,6 +7,7 @@
#include <linux/list.h>
#include <linux/memcontrol.h>
#include <linux/sched.h>
+#include <linux/pagemap.h>

#include <asm/atomic.h>
#include <asm/page.h>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/