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 |
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.
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. ;) > > . >
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 --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);
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(-)