[PATCH 14/30] jffs2: Remove calls to set/clear the folio error flag

Zhihao Cheng chengzhihao1 at huawei.com
Mon Apr 22 07:46:37 PDT 2024


在 2024/4/20 10:50, Matthew Wilcox (Oracle) 写道:
> Nobody checks the error flag on jffs2 folios, so stop setting and
> clearing it.  We can also remove the call to clear the uptodate
> flag; it will already be clear.
> 
> Convert one of these into a call to mapping_set_error() which will
> actually be checked by other parts of the kernel.
> 
> Cc: David Woodhouse <dwmw2 at infradead.org>
> Cc: Richard Weinberger <richard at nod.at>
> Cc: linux-mtd at lists.infradead.org
> Signed-off-by: Matthew Wilcox (Oracle) <willy at infradead.org>
> ---
>   fs/jffs2/file.c | 14 +++-----------
>   1 file changed, 3 insertions(+), 11 deletions(-)

xfstests passed. Looks like the change is harmless.

Tested-by: Reviewed-by: Zhihao Cheng <chengzhihao1 at huawei.com>
> 
> diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c
> index 62ea76da7fdf..e12cb145147e 100644
> --- a/fs/jffs2/file.c
> +++ b/fs/jffs2/file.c
> @@ -95,13 +95,8 @@ static int jffs2_do_readpage_nolock (struct inode *inode, struct page *pg)
>   	ret = jffs2_read_inode_range(c, f, pg_buf, pg->index << PAGE_SHIFT,
>   				     PAGE_SIZE);
>   
> -	if (ret) {
> -		ClearPageUptodate(pg);
> -		SetPageError(pg);
> -	} else {
> +	if (!ret)
>   		SetPageUptodate(pg);
> -		ClearPageError(pg);
> -	}
>   
>   	flush_dcache_page(pg);
>   	kunmap(pg);
> @@ -304,10 +299,8 @@ static int jffs2_write_end(struct file *filp, struct address_space *mapping,
>   
>   	kunmap(pg);
>   
> -	if (ret) {
> -		/* There was an error writing. */
> -		SetPageError(pg);
> -	}
> +	if (ret)
> +		mapping_set_error(mapping, ret);
>   
>   	/* Adjust writtenlen for the padding we did, so we don't confuse our caller */
>   	writtenlen -= min(writtenlen, (start - aligned_start));
> @@ -330,7 +323,6 @@ static int jffs2_write_end(struct file *filp, struct address_space *mapping,
>   		   it gets reread */
>   		jffs2_dbg(1, "%s(): Not all bytes written. Marking page !uptodate\n",
>   			__func__);
> -		SetPageError(pg);
>   		ClearPageUptodate(pg);
>   	}
>   
> 




More information about the linux-mtd mailing list