From: Akinobu Mita Improve ext2_readdir() return value for ext2_get_page() failure by using the actual result of ext2_get_page(). Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton --- fs/ext2/dir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN fs/ext2/dir.c~ext2-improve-ext2_readdir-return-value fs/ext2/dir.c --- a/fs/ext2/dir.c~ext2-improve-ext2_readdir-return-value +++ a/fs/ext2/dir.c @@ -299,7 +299,7 @@ ext2_readdir (struct file * filp, void * "bad page in #%lu", inode->i_ino); filp->f_pos += PAGE_CACHE_SIZE - offset; - return -EIO; + return PTR_ERR(page); } kaddr = page_address(page); if (unlikely(need_revalidate)) { _