diff options
-rw-r--r-- | fs/erofs/zdata.c | 23 |
1 files 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); |