Re: [2.6.0-test4] [BUG] reiserfs_writepage()

Oleg Drokin
2003-09-08T09:13:35Z

Hello!

On Sun, Sep 07, 2003 at 11:50:09AM +0200, Daniel Blueman wrote:

> Let me know if any more info would help on this!
> EIP is at end_page_writeback+0x6a/0x82
> [<c01df812>] reiserfs_write_full_page+0xe1/0x314
> [<c0196b8e>] mpage_writepages+0x3de/0x538
> [<c01dfa5b>] reiserfs_writepage+0x0/0x39
> [<c0147501>] do_writepages+0x37/0x39

This patch should help.

Bye,
Oleg

diff -Nru a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
--- a/fs/reiserfs/inode.c Mon Sep 8 12:54:12 2003
+++ b/fs/reiserfs/inode.c Mon Sep 8 12:54:12 2003
@@ -2048,8 +2048,8 @@
last_offset = inode->i_size & (PAGE_CACHE_SIZE - 1) ;
/* no file contents in this page */
if (page->index >= end_index + 1 || !last_offset) {
- error = 0 ;
- goto done ;
+ unlock_page(page);
+ return 0;
}
kaddr = kmap_atomic(page, KM_USER0);
memset(kaddr + last_offset, 0, PAGE_CACHE_SIZE-last_offset) ;