Messages in this thread | | | Date | Wed, 24 Jun 2020 11:02:53 +1000 | From | Dave Chinner <> | Subject | Re: [PATCH 05/15] mm: allow read-ahead with IOCB_NOWAIT set |
| |
On Thu, Jun 18, 2020 at 08:43:45AM -0600, Jens Axboe wrote: > The read-ahead shouldn't block, so allow it to be done even if > IOCB_NOWAIT is set in the kiocb. > > Acked-by: Johannes Weiner <hannes@cmpxchg.org> > Signed-off-by: Jens Axboe <axboe@kernel.dk> > --- > mm/filemap.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/mm/filemap.c b/mm/filemap.c > index f0ae9a6308cb..3378d4fca883 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -2028,8 +2028,6 @@ ssize_t generic_file_buffered_read(struct kiocb *iocb, > > page = find_get_page(mapping, index); > if (!page) { > - if (iocb->ki_flags & IOCB_NOWAIT) > - goto would_block; > page_cache_sync_readahead(mapping, > ra, filp, > index, last_index - index);
Doesn't think break preadv2(RWF_NOWAIT) semantics for on buffered reads? i.e. this can now block on memory allocation for the page cache, which is something RWF_NOWAIT IO should not do....
Cheers,
Dave. -- Dave Chinner david@fromorbit.com
| |