On Wed, Dec 13, 2023 at 03:16:39AM +0000, Al Viro wrote: > More old stuff, this time UFS one. Part of that is > yet another kmap_local_page() conversion, part - assorted > cleanups. > It seems to survive local beating, but it needs > more review and testing. Sigh... That it does - especially since a bit more testing has caught this (in mainline): [PATCH] fix ufs_get_locked_folio() breakage filemap_lock_folio() returns ERR_PTR(-ENOENT) if the thing is not in cache - not NULL like find_lock_page() used to. Fixes: 5fb7bd50b351 "ufs: add ufs_get_locked_folio and ufs_put_locked_folio" Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> --- diff --git a/fs/ufs/util.c b/fs/ufs/util.c index 535c7ee80a10..f0e906ab4ddd 100644 --- a/fs/ufs/util.c +++ b/fs/ufs/util.c @@ -199,7 +199,7 @@ struct folio *ufs_get_locked_folio(struct address_space *mapping, { struct inode *inode = mapping->host; struct folio *folio = filemap_lock_folio(mapping, index); - if (!folio) { + if (IS_ERR(folio)) { folio = read_mapping_folio(mapping, index, NULL); if (IS_ERR(folio)) {