Re: [PATCH 01/10] AXFS: exporting xip_file_fault() for use with AXFS

Paulius Zaleckas
2008-08-21T07:25:40Z

Jared Hulbert wrote:
> We'll need this for AXFS. The equivalent function in filemap.c is exported.
>
> Signed-off-by: Jared Hulbert <jaredeh@gmail.com>
> ---
> include/linux/mm.h | 4 ++++
> mm/filemap_xip.c | 3 ++-
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 72a15dc..2be5c22 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -161,6 +161,10 @@ struct vm_fault {
> */
> };
>
> +#ifdef CONFIG_FS_XIP
> +extern int xip_file_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
> +#endif
> +

No need for #ifdef here as this function is compiled and exported in .c
regardless of CONFIG_FS_XIP

> /*
> * These are the virtual MM functions - opening of an area, closing and
> * unmapping it (needed to keep files on disk up-to-date etc), pointer
> diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c
> index 380ab40..ab2f174 100644
> --- a/mm/filemap_xip.c
> +++ b/mm/filemap_xip.c
> @@ -206,7 +206,7 @@ __xip_unmap (struct address_space * mapping,
> *
> * This function is derived from filemap_fault, but used for execute in place
> */
> -static int xip_file_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
> +int xip_file_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
> {
> struct file *file = vma->vm_file;
> struct address_space *mapping = file->f_mapping;
> @@ -262,6 +262,7 @@ found:
> return 0;
> }
> }
> +EXPORT_SYMBOL_GPL(xip_file_fault);
>
> static struct vm_operations_struct xip_file_vm_ops = {
> .fault = xip_file_fault,
>