diff --git a/mm/filemap.c b/mm/filemap.c index d6f95513241f..6e954156bb77 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2622,9 +2622,10 @@ static int filemap_get_pages(struct kiocb *iocb, size_t count, goto err; } if (!folio_test_uptodate(folio)) { - if ((iocb->ki_flags & IOCB_WAITQ) && - folio_batch_count(fbatch) > 1) - iocb->ki_flags |= IOCB_NOWAIT; + if (folio_batch_count(fbatch) > 1) { + err = -EAGAIN; + goto err; + } err = filemap_update_page(iocb, mapping, count, folio, need_uptodate); if (err)