On Tue, 26 Nov 2013 16:39:09 +0800 Rui Xiang <rui.xi...@huawei.com> wrote:
> Here ret always equals 0, so SetPageUptodate directly. > > ... > > --- a/fs/romfs/super.c > +++ b/fs/romfs/super.c > @@ -129,8 +129,7 @@ static int romfs_readpage(struct file *file, struct page > *page) > > if (fillsize < PAGE_SIZE) > memset(buf + fillsize, 0, PAGE_SIZE - fillsize); > - if (ret == 0) > - SetPageUptodate(page); > + SetPageUptodate(page); > > flush_dcache_page(page); > kunmap(page); Nope, `ret' can be -EIO: ret = 0; if (offset < size) { size -= offset; fillsize = size > PAGE_SIZE ? PAGE_SIZE : size; pos = ROMFS_I(inode)->i_dataoffset + offset; ret = romfs_dev_read(inode->i_sb, pos, buf, fillsize); if (ret < 0) { SetPageError(page); fillsize = 0; -->> ret = -EIO; } } if (fillsize < PAGE_SIZE) memset(buf + fillsize, 0, PAGE_SIZE - fillsize); if (ret == 0) SetPageUptodate(page); It was a bit rude to overwrite the romfs_dev_read() return code though. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/