On Wed, Nov 04, 2020 at 08:42:10PM +0000, Matthew Wilcox (Oracle) wrote: > @@ -2288,7 +2270,18 @@ static struct page *filemap_update_page(struct kiocb *iocb, struct file *filp, > return page; > > readpage: > + if (iocb->ki_flags & (IOCB_NOIO | IOCB_NOWAIT | IOCB_WAITQ)) { > + unlock_page(page); > + put_page(page); > + return ERR_PTR(-EAGAIN); > + } > + error = filemap_read_page(iocb->ki_filp, mapping, page); > + if (!error) I still find the eraly return here weird.. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx>