* [PATCH 1/2] romfs: fix returm err while getting inode in fill_super
@ 2013-11-26 8:39 Rui Xiang
2013-11-26 8:39 ` [PATCH 2/2] romfs: remove an redundant if condition in romfs_readpage Rui Xiang
0 siblings, 1 reply; 4+ messages in thread
From: Rui Xiang @ 2013-11-26 8:39 UTC (permalink / raw)
To: linux-kernel; +Cc: Rui Xiang
Getting an inode by romfs_iget may lead to an err in fill_super,
and the err value should be return.
And it should return -ENOMEM instead while d_make_root fails,
fix it too.
Signed-off-by: Rui Xiang <rui.xiang@huawei.com>
---
fs/romfs/super.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/romfs/super.c b/fs/romfs/super.c
index ff1d3d4..d841878 100644
--- a/fs/romfs/super.c
+++ b/fs/romfs/super.c
@@ -533,16 +533,14 @@ static int romfs_fill_super(struct super_block *sb, void *data, int silent)
root = romfs_iget(sb, pos);
if (IS_ERR(root))
- goto error;
+ return PTR_ERR(root);
sb->s_root = d_make_root(root);
if (!sb->s_root)
- goto error;
+ return -ENOMEM;
return 0;
-error:
- return -EINVAL;
error_rsb_inval:
ret = -EINVAL;
error_rsb:
--
1.8.2.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] romfs: remove an redundant if condition in romfs_readpage
2013-11-26 8:39 [PATCH 1/2] romfs: fix returm err while getting inode in fill_super Rui Xiang
@ 2013-11-26 8:39 ` Rui Xiang
2013-12-16 8:10 ` Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: Rui Xiang @ 2013-11-26 8:39 UTC (permalink / raw)
To: linux-kernel; +Cc: Rui Xiang
Here ret always equals 0, so SetPageUptodate directly.
Signed-off-by: Rui Xiang <rui.xiang@huawei.com>
---
fs/romfs/super.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/fs/romfs/super.c b/fs/romfs/super.c
index d841878..b5e4ad4 100644
--- 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);
--
1.8.2.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] romfs: remove an redundant if condition in romfs_readpage
2013-11-26 8:39 ` [PATCH 2/2] romfs: remove an redundant if condition in romfs_readpage Rui Xiang
@ 2013-12-16 8:10 ` Andrew Morton
2013-12-16 8:24 ` Rui Xiang
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2013-12-16 8:10 UTC (permalink / raw)
To: Rui Xiang; +Cc: linux-kernel
On Tue, 26 Nov 2013 16:39:09 +0800 Rui Xiang <rui.xiang@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.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] romfs: remove an redundant if condition in romfs_readpage
2013-12-16 8:10 ` Andrew Morton
@ 2013-12-16 8:24 ` Rui Xiang
0 siblings, 0 replies; 4+ messages in thread
From: Rui Xiang @ 2013-12-16 8:24 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel
On 2013/12/16 16:10, Andrew Morton wrote:
> On Tue, 26 Nov 2013 16:39:09 +0800 Rui Xiang <rui.xiang@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.
>
Ah, my fault. Ignore that, please.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-12-16 8:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-26 8:39 [PATCH 1/2] romfs: fix returm err while getting inode in fill_super Rui Xiang
2013-11-26 8:39 ` [PATCH 2/2] romfs: remove an redundant if condition in romfs_readpage Rui Xiang
2013-12-16 8:10 ` Andrew Morton
2013-12-16 8:24 ` Rui Xiang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox