2023-08-09 06:18:06

by Ferry Meng

[permalink] [raw]
Subject: [PATCH] erofs: refine warning messages for data I/Os

Don't warn users since -EINTR is returned due to user interruption.
Also suppress warning messages of readmore.

Signed-off-by: Ferry Meng <[email protected]>
---
fs/erofs/zdata.c | 23 +++++++++--------------
1 file changed, 9 insertions(+), 14 deletions(-)

diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index de4f12152b62..53820271e538 100644
--- a/fs/erofs/zdata.c
+++ b/fs/erofs/zdata.c
@@ -1848,15 +1848,10 @@ static void z_erofs_pcluster_readmore(struct z_erofs_decompress_frontend *f,

page = erofs_grab_cache_page_nowait(inode->i_mapping, index);
if (page) {
- if (PageUptodate(page)) {
+ if (PageUptodate(page))
unlock_page(page);
- } else {
- err = z_erofs_do_read_page(f, page);
- if (err)
- erofs_err(inode->i_sb,
- "readmore error at page %lu @ nid %llu",
- index, EROFS_I(inode)->nid);
- }
+ else
+ (void)z_erofs_do_read_page(f, page);
put_page(page);
}

@@ -1885,8 +1880,9 @@ static int z_erofs_read_folio(struct file *file, struct folio *folio)
/* if some compressed cluster ready, need submit them anyway */
z_erofs_runqueue(&f, z_erofs_is_sync_decompress(sbi, 0), false);

- if (err)
- erofs_err(inode->i_sb, "failed to read, err [%d]", err);
+ if (err && err != -EINTR)
+ erofs_err(inode->i_sb, "read error %d @ %lu of nid %llu",
+ err, folio->index, EROFS_I(inode)->nid);

erofs_put_metabuf(&f.map.buf);
erofs_release_pages(&f.pagepool);
@@ -1920,10 +1916,9 @@ static void z_erofs_readahead(struct readahead_control *rac)
head = (void *)page_private(page);

err = z_erofs_do_read_page(&f, page);
- if (err)
- erofs_err(inode->i_sb,
- "readahead error at page %lu @ nid %llu",
- page->index, EROFS_I(inode)->nid);
+ if (err && err != -EINTR)
+ erofs_err(inode->i_sb, "readahead error %d @ %lu of nid %llu",
+ err, page->index, EROFS_I(inode)->nid);
put_page(page);
}
z_erofs_pcluster_readmore(&f, rac, false);
--
2.19.1.6.gb485710b



2023-08-09 07:38:34

by Gao Xiang

[permalink] [raw]
Subject: Re: [PATCH] erofs: refine warning messages for data I/Os



On 2023/8/9 14:06, Ferry Meng wrote:
> Don't warn users since -EINTR is returned due to user interruption.
> Also suppress warning messages of readmore.
>
> Signed-off-by: Ferry Meng <[email protected]>

Reviewed-by: Gao Xiang <[email protected]>

Thanks,
Gao Xiang

2023-08-10 03:00:34

by Yue Hu

[permalink] [raw]
Subject: Re: [PATCH] erofs: refine warning messages for data I/Os

On Wed, 9 Aug 2023 14:06:37 +0800
Ferry Meng <[email protected]> wrote:

erofs: refine warning messages for zdata I/Os

> Don't warn users since -EINTR is returned due to user interruption.
> Also suppress warning messages of readmore.
>
> Signed-off-by: Ferry Meng <[email protected]>

Reviewed-by: Yue Hu <[email protected]>

> ---
> fs/erofs/zdata.c | 23 +++++++++--------------
> 1 file changed, 9 insertions(+), 14 deletions(-)
>
> diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
> index de4f12152b62..53820271e538 100644
> --- a/fs/erofs/zdata.c
> +++ b/fs/erofs/zdata.c
> @@ -1848,15 +1848,10 @@ static void z_erofs_pcluster_readmore(struct z_erofs_decompress_frontend *f,
>
> page = erofs_grab_cache_page_nowait(inode->i_mapping, index);
> if (page) {
> - if (PageUptodate(page)) {
> + if (PageUptodate(page))
> unlock_page(page);
> - } else {
> - err = z_erofs_do_read_page(f, page);
> - if (err)
> - erofs_err(inode->i_sb,
> - "readmore error at page %lu @ nid %llu",
> - index, EROFS_I(inode)->nid);
> - }
> + else
> + (void)z_erofs_do_read_page(f, page);
> put_page(page);
> }
>
> @@ -1885,8 +1880,9 @@ static int z_erofs_read_folio(struct file *file, struct folio *folio)
> /* if some compressed cluster ready, need submit them anyway */
> z_erofs_runqueue(&f, z_erofs_is_sync_decompress(sbi, 0), false);
>
> - if (err)
> - erofs_err(inode->i_sb, "failed to read, err [%d]", err);
> + if (err && err != -EINTR)
> + erofs_err(inode->i_sb, "read error %d @ %lu of nid %llu",
> + err, folio->index, EROFS_I(inode)->nid);
>
> erofs_put_metabuf(&f.map.buf);
> erofs_release_pages(&f.pagepool);
> @@ -1920,10 +1916,9 @@ static void z_erofs_readahead(struct readahead_control *rac)
> head = (void *)page_private(page);
>
> err = z_erofs_do_read_page(&f, page);
> - if (err)
> - erofs_err(inode->i_sb,
> - "readahead error at page %lu @ nid %llu",
> - page->index, EROFS_I(inode)->nid);
> + if (err && err != -EINTR)
> + erofs_err(inode->i_sb, "readahead error %d @ %lu of nid %llu",
> + err, page->index, EROFS_I(inode)->nid);
> put_page(page);
> }
> z_erofs_pcluster_readmore(&f, rac, false);


2023-08-23 16:49:01

by Chao Yu

[permalink] [raw]
Subject: Re: [PATCH] erofs: refine warning messages for data I/Os

On 2023/8/9 14:06, Ferry Meng wrote:
> Don't warn users since -EINTR is returned due to user interruption.
> Also suppress warning messages of readmore.
>
> Signed-off-by: Ferry Meng <[email protected]>

Reviewed-by: Chao Yu <[email protected]>

Thanks,