Re: [2.6 PATCH] Export invalidate_mapping_pages() to modules.

From: Andrew Morton
Date: Wed Jan 03 2007 - 14:04:53 EST


On Wed, 03 Jan 2007 05:29:31 -0800
Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

> On Mon, 2007-01-01 at 23:28 +0000, Anton Altaparmakov wrote:
> > Hi Linus and Andrew,
> >
> > Please apply below patch which exports invalidate_mapping_pages() to
> > modules. It makes no sense to me to export invalidate_inode_pages() and
> > not invalidate_mapping_pages() and I actually need
> > invalidate_mapping_pages() because of its range specification ability...
> >
> > It would be great if this could make it into 2.6.20!
>
>
> yet.. if there's not a single user it makes the kernel binary 100 to 150
> bytes bigger in memory......

I fixed that.


From: Anton Altaparmakov <aia21@xxxxxxxxx>

It makes no sense to me to export invalidate_inode_pages() and not
invalidate_mapping_pages() and I actually need invalidate_mapping_pages()
because of its range specification ability...

akpm: also remove the export of invalidate_inode_pages() by making it an
inlined wrapper.

Signed-off-by: Anton Altaparmakov <aia21@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

include/linux/fs.h | 8 +++++++-
mm/truncate.c | 7 +------
2 files changed, 8 insertions(+), 7 deletions(-)

diff -puN mm/truncate.c~export-invalidate_mapping_pages-to-modules mm/truncate.c
--- a/mm/truncate.c~export-invalidate_mapping_pages-to-modules
+++ a/mm/truncate.c
@@ -303,12 +303,7 @@ unlock:
}
return ret;
}
-
-unsigned long invalidate_inode_pages(struct address_space *mapping)
-{
- return invalidate_mapping_pages(mapping, 0, ~0UL);
-}
-EXPORT_SYMBOL(invalidate_inode_pages);
+EXPORT_SYMBOL(invalidate_mapping_pages);

/*
* This is like invalidate_complete_page(), except it ignores the page's
diff -puN include/linux/fs.h~export-invalidate_mapping_pages-to-modules include/linux/fs.h
--- a/include/linux/fs.h~export-invalidate_mapping_pages-to-modules
+++ a/include/linux/fs.h
@@ -1571,7 +1571,13 @@ extern int invalidate_partition(struct g
extern int invalidate_inodes(struct super_block *);
unsigned long invalidate_mapping_pages(struct address_space *mapping,
pgoff_t start, pgoff_t end);
-unsigned long invalidate_inode_pages(struct address_space *mapping);
+
+static inline unsigned long
+invalidate_inode_pages(struct address_space *mapping)
+{
+ return invalidate_mapping_pages(mapping, 0, ~0UL);
+}
+
static inline void invalidate_remote_inode(struct inode *inode)
{
if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
_

-
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/