On Mon, Sep 30, 2024 at 11:02:26AM +0200, Gianfranco Trad wrote:
@@ -2360,6 +2360,8 @@ static int filemap_read_folio(struct file *file, filler_t filler,
/* Start the actual read. The read will unlock the page. */
if (unlikely(workingset))
psi_memstall_enter(&pflags);
+ if (!filler)
+ return -EIO;
This is definitely wrong because you enter memstall, but do not exit it.
As Andrew says, the underlying problem is that the filesystem does not
implement ->read_folio. Which filesystem is this?
error = filler(file, folio);
if (unlikely(workingset))
psi_memstall_leave(&pflags);
--
2.43.0