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/

Reply via email to