From 887d733072691630e2febfaf9b0bcf6f28f7b355 Mon Sep 17 00:00:00 2001
From: Laurent Riffard <laurent.riffard@free.fr>
Date: Thu, 27 Nov 2008 01:58:05 +0100
Subject: [PATCH] Reiser4 can't be built as a module when EXPORT_UNUSED_SYMBOL
 is not set.

It's broken because reiser4_write_extent is calling
simple_prepare_write() and commit
4e02ed4b4a2fae34aae766a5bb93ae235f60adb8 scheduled it for unexporting.

Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
Acked-by: Edward Shishkin <edward.shishkin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
 fs/reiser4/plugin/item/extent_file_ops.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/reiser4/plugin/item/extent_file_ops.c b/fs/reiser4/plugin/item/extent_file_ops.c
index 6e8711cbac6..0cf050b42d1 100644
--- a/fs/reiser4/plugin/item/extent_file_ops.c
+++ b/fs/reiser4/plugin/item/extent_file_ops.c
@@ -1059,8 +1059,9 @@ ssize_t reiser4_write_extent(struct file *file, struct inode * inode,
 
 		lock_page(page);
 		if (!PageUptodate(page) && to_page != PAGE_CACHE_SIZE)
-			simple_prepare_write(file, page, page_off,
-					     page_off + to_page);
+			zero_user_segments(page, 0, page_off,
+			                   page_off + to_page,
+			                   PAGE_CACHE_SIZE);
 
 		written = filemap_copy_from_user(page, page_off, buf, to_page);
 		if (unlikely(written != to_page)) {
-- 
2.25.4