linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 14/30] jffs2: Remove calls to set/clear the folio error flag
       [not found] <20240420025029.2166544-1-willy@infradead.org>
@ 2024-04-20  2:50 ` Matthew Wilcox (Oracle)
  2024-04-22 14:46   ` Zhihao Cheng
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-04-20  2:50 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: Matthew Wilcox (Oracle), David Woodhouse, Richard Weinberger, linux-mtd

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@infradead.org>
Cc: Richard Weinberger <richard@nod.at>
Cc: linux-mtd@lists.infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
 fs/jffs2/file.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

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);
 	}
 
-- 
2.43.0


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 14/30] jffs2: Remove calls to set/clear the folio error flag
  2024-04-20  2:50 ` [PATCH 14/30] jffs2: Remove calls to set/clear the folio error flag Matthew Wilcox (Oracle)
@ 2024-04-22 14:46   ` Zhihao Cheng
  2024-04-22 15:56     ` Richard Weinberger
  0 siblings, 1 reply; 3+ messages in thread
From: Zhihao Cheng @ 2024-04-22 14:46 UTC (permalink / raw)
  To: Matthew Wilcox (Oracle), linux-fsdevel
  Cc: David Woodhouse, Richard Weinberger, linux-mtd

在 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@infradead.org>
> Cc: Richard Weinberger <richard@nod.at>
> Cc: linux-mtd@lists.infradead.org
> Signed-off-by: Matthew Wilcox (Oracle) <willy@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@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);
>   	}
>   
> 


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 14/30] jffs2: Remove calls to set/clear the folio error flag
  2024-04-22 14:46   ` Zhihao Cheng
@ 2024-04-22 15:56     ` Richard Weinberger
  0 siblings, 0 replies; 3+ messages in thread
From: Richard Weinberger @ 2024-04-22 15:56 UTC (permalink / raw)
  To: chengzhihao1; +Cc: Matthew Wilcox, linux-fsdevel, David Woodhouse, linux-mtd

----- Ursprüngliche Mail -----
> Von: "chengzhihao1" <chengzhihao1@huawei.com>
> An: "Matthew Wilcox" <willy@infradead.org>, "linux-fsdevel" <linux-fsdevel@vger.kernel.org>
> CC: "David Woodhouse" <dwmw2@infradead.org>, "richard" <richard@nod.at>, "linux-mtd" <linux-mtd@lists.infradead.org>
> Gesendet: Montag, 22. April 2024 16:46:37
> Betreff: Re: [PATCH 14/30] jffs2: Remove calls to set/clear the folio error flag

> 在 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@infradead.org>
>> Cc: Richard Weinberger <richard@nod.at>
>> Cc: linux-mtd@lists.infradead.org
>> Signed-off-by: Matthew Wilcox (Oracle) <willy@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@huawei.com>

Acked-by: Richard Weinberger <richard@nod.at>

Thanks,
//richard

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-04-22 15:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20240420025029.2166544-1-willy@infradead.org>
2024-04-20  2:50 ` [PATCH 14/30] jffs2: Remove calls to set/clear the folio error flag Matthew Wilcox (Oracle)
2024-04-22 14:46   ` Zhihao Cheng
2024-04-22 15:56     ` Richard Weinberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).