diff mbox series

filemap: minor cleanup for filemap_write_and_wait_range

Message ID 20220627132351.55680-1-linmiaohe@huawei.com (mailing list archive)
State New
Headers show
Series filemap: minor cleanup for filemap_write_and_wait_range | expand

Commit Message

Miaohe Lin June 27, 2022, 1:23 p.m. UTC
Restructure the logic in filemap_write_and_wait_range to simplify the code
and make it more consistent with file_write_and_wait_range. No functional
change intended.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 mm/filemap.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

Comments

Matthew Wilcox (Oracle) June 28, 2022, 3:03 a.m. UTC | #1
On Mon, Jun 27, 2022 at 09:23:51PM +0800, Miaohe Lin wrote:
> Restructure the logic in filemap_write_and_wait_range to simplify the code
> and make it more consistent with file_write_and_wait_range. No functional
> change intended.
> 
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>

Looks OK to me at a quick glance.  I'll look at it more closely next
week when I'm back from holiday.
Miaohe Lin June 28, 2022, 3:20 a.m. UTC | #2
On 2022/6/28 11:03, Matthew Wilcox wrote:
> On Mon, Jun 27, 2022 at 09:23:51PM +0800, Miaohe Lin wrote:
>> Restructure the logic in filemap_write_and_wait_range to simplify the code
>> and make it more consistent with file_write_and_wait_range. No functional
>> change intended.
>>
>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> 
> Looks OK to me at a quick glance.  I'll look at it more closely next
> week when I'm back from holiday.

Thanks for your time. Enjoy your holiday. ;)

> 
> .
>
Muchun Song June 28, 2022, 7:27 a.m. UTC | #3
On Mon, Jun 27, 2022 at 09:23:51PM +0800, Miaohe Lin wrote:
> Restructure the logic in filemap_write_and_wait_range to simplify the code
> and make it more consistent with file_write_and_wait_range. No functional
> change intended.
> 
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>

Reviewed-by: Muchun Song <songmuchun@bytedance.com>

Thanks.
diff mbox series

Patch

diff --git a/mm/filemap.c b/mm/filemap.c
index 8ccb868c3d95..b561619cfafe 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -667,7 +667,7 @@  EXPORT_SYMBOL_GPL(filemap_range_has_writeback);
 int filemap_write_and_wait_range(struct address_space *mapping,
 				 loff_t lstart, loff_t lend)
 {
-	int err = 0;
+	int err = 0, err2;
 
 	if (mapping_needs_writeback(mapping)) {
 		err = __filemap_fdatawrite_range(mapping, lstart, lend,
@@ -678,18 +678,12 @@  int filemap_write_and_wait_range(struct address_space *mapping,
 		 * But the -EIO is special case, it may indicate the worst
 		 * thing (e.g. bug) happened, so we avoid waiting for it.
 		 */
-		if (err != -EIO) {
-			int err2 = filemap_fdatawait_range(mapping,
-						lstart, lend);
-			if (!err)
-				err = err2;
-		} else {
-			/* Clear any previously stored errors */
-			filemap_check_errors(mapping);
-		}
-	} else {
-		err = filemap_check_errors(mapping);
+		if (err != -EIO)
+			__filemap_fdatawait_range(mapping, lstart, lend);
 	}
+	err2 = filemap_check_errors(mapping);
+	if (!err)
+		err = err2;
 	return err;
 }
 EXPORT_SYMBOL(filemap_write_and_wait_range);