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

Yue Hu zbestahu at gmail.com
Thu Aug 10 12:20:01 AEST 2023


On Wed,  9 Aug 2023 14:06:37 +0800
Ferry Meng <mengferry at linux.alibaba.com> 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 <mengferry at linux.alibaba.com>

Reviewed-by: Yue Hu <huyue2 at coolpad.com>

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



More information about the Linux-erofs mailing list