aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/mm.h1
-rw-r--r--mm/page-writeback.c10
-rw-r--r--mm/shmem.c2
3 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 26adfcc0d61a..77a76101dcd9 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -785,6 +785,7 @@ extern int try_to_release_page(struct page * page, gfp_t gfp_mask);
785extern void do_invalidatepage(struct page *page, unsigned long offset); 785extern void do_invalidatepage(struct page *page, unsigned long offset);
786 786
787int __set_page_dirty_nobuffers(struct page *page); 787int __set_page_dirty_nobuffers(struct page *page);
788int __set_page_dirty_no_writeback(struct page *page);
788int redirty_page_for_writepage(struct writeback_control *wbc, 789int redirty_page_for_writepage(struct writeback_control *wbc,
789 struct page *page); 790 struct page *page);
790int FASTCALL(set_page_dirty(struct page *page)); 791int FASTCALL(set_page_dirty(struct page *page));
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index be0efbde4994..438833cbbca4 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -737,6 +737,16 @@ int write_one_page(struct page *page, int wait)
737EXPORT_SYMBOL(write_one_page); 737EXPORT_SYMBOL(write_one_page);
738 738
739/* 739/*
740 * For address_spaces which do not use buffers nor write back.
741 */
742int __set_page_dirty_no_writeback(struct page *page)
743{
744 if (!PageDirty(page))
745 SetPageDirty(page);
746 return 0;
747}
748
749/*
740 * For address_spaces which do not use buffers. Just tag the page as dirty in 750 * For address_spaces which do not use buffers. Just tag the page as dirty in
741 * its radix tree. 751 * its radix tree.
742 * 752 *
diff --git a/mm/shmem.c b/mm/shmem.c
index 70da7a0981bf..b38e17169271 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2316,7 +2316,7 @@ static void destroy_inodecache(void)
2316 2316
2317static const struct address_space_operations shmem_aops = { 2317static const struct address_space_operations shmem_aops = {
2318 .writepage = shmem_writepage, 2318 .writepage = shmem_writepage,
2319 .set_page_dirty = __set_page_dirty_nobuffers, 2319 .set_page_dirty = __set_page_dirty_no_writeback,
2320#ifdef CONFIG_TMPFS 2320#ifdef CONFIG_TMPFS
2321 .prepare_write = shmem_prepare_write, 2321 .prepare_write = shmem_prepare_write,
2322 .commit_write = simple_commit_write, 2322 .commit_write = simple_commit_write,