summaryrefslogtreecommitdiff
path: root/fs/jffs2
diff options
context:
space:
mode:
authorAnders Grafström <grfstrm@users.sourceforge.net>2009-08-04 13:11:47 +0200
committerDavid Woodhouse <David.Woodhouse@intel.com>2009-08-04 12:13:06 +0100
commit57ca7deb062abf56168d15f000c16e25f88a9cf3 (patch)
treef9dac86ff98ca5f40498834fbd74559437398329 /fs/jffs2
parentd676c11727815761e41a81b00c054b4bec452ae5 (diff)
downloadlinux-3.10-57ca7deb062abf56168d15f000c16e25f88a9cf3.tar.gz
linux-3.10-57ca7deb062abf56168d15f000c16e25f88a9cf3.tar.bz2
linux-3.10-57ca7deb062abf56168d15f000c16e25f88a9cf3.zip
jffs2: Fix return value from jffs2_do_readpage_nolock()
This fixes "kernel BUG at fs/jffs2/file.c:251!". This pseudocode hopefully illustrates the scenario that triggers it: jffs2_write_begin { jffs2_do_readpage_nolock { jffs2_read_inode_range { jffs2_read_dnode { Data CRC 33c102e9 != calculated CRC 0ef77e7b for node at 005d42e4 return -EIO; } } ClearPageUptodate(pg); return 0; } } jffs2_write_end { BUG_ON(!PageUptodate(pg)); } Signed-off-by: Anders Grafström <grfstrm@users.sourceforge.net> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'fs/jffs2')
-rw-r--r--fs/jffs2/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c
index 5edc2bf2058..23c94753986 100644
--- a/fs/jffs2/file.c
+++ b/fs/jffs2/file.c
@@ -99,7 +99,7 @@ static int jffs2_do_readpage_nolock (struct inode *inode, struct page *pg)
kunmap(pg);
D2(printk(KERN_DEBUG "readpage finished\n"));
- return 0;
+ return ret;
}
int jffs2_do_readpage_unlock(struct inode *inode, struct page *pg)