On Wed, Jan 28, 2026 at 04:26:19PM +0100, Christoph Hellwig wrote: > Issuing more reads on errors is not a good idea, especially when the > most common error here is -ENOMEM. > > Signed-off-by: Christoph Hellwig <[email protected]> > --- > fs/verity/pagecache.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/verity/pagecache.c b/fs/verity/pagecache.c > index f67248e9e768..eae419d8d091 100644 > --- a/fs/verity/pagecache.c > +++ b/fs/verity/pagecache.c > @@ -22,7 +22,8 @@ struct page *generic_read_merkle_tree_page(struct inode > *inode, pgoff_t index, > struct folio *folio; > > folio = __filemap_get_folio(inode->i_mapping, index, FGP_ACCESSED, 0); > - if (IS_ERR(folio) || !folio_test_uptodate(folio)) { > + if (folio == ERR_PTR(-ENOENT) || > + (!IS_ERR(folio) && !folio_test_uptodate(folio))) { > DEFINE_READAHEAD(ractl, NULL, NULL, inode->i_mapping, index);
This patch is still incorrect: when IS_ERR(folio) && folio != ERR_PTR(-ENOENT) it falls through to folio_file_page(), which crashes. See https://lore.kernel.org/r/20260126205301.GD30838@quark/ for a correct suggestion. - Eric _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
