mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
mm/filemap: use page_cache_sync_ra() to kick off read-ahead
Rather than use the page_cache_sync_readahead() helper, define our own ractl and use page_cache_sync_ra() directly. In preparation for needing to modify ractl inside filemap_get_pages(). No functional changes in this patch. Link: https://lkml.kernel.org/r/20241220154831.1086649-3-axboe@kernel.dk Signed-off-by: Jens Axboe <axboe@kernel.dk> Reviewed-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Brian Foster <bfoster@redhat.com> Cc: Chris Mason <clm@meta.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
9ad6344568
commit
f598cdaafc
|
@ -2499,7 +2499,6 @@ static int filemap_get_pages(struct kiocb *iocb, size_t count,
|
|||
{
|
||||
struct file *filp = iocb->ki_filp;
|
||||
struct address_space *mapping = filp->f_mapping;
|
||||
struct file_ra_state *ra = &filp->f_ra;
|
||||
pgoff_t index = iocb->ki_pos >> PAGE_SHIFT;
|
||||
pgoff_t last_index;
|
||||
struct folio *folio;
|
||||
|
@ -2514,12 +2513,13 @@ retry:
|
|||
|
||||
filemap_get_read_batch(mapping, index, last_index - 1, fbatch);
|
||||
if (!folio_batch_count(fbatch)) {
|
||||
DEFINE_READAHEAD(ractl, filp, &filp->f_ra, mapping, index);
|
||||
|
||||
if (iocb->ki_flags & IOCB_NOIO)
|
||||
return -EAGAIN;
|
||||
if (iocb->ki_flags & IOCB_NOWAIT)
|
||||
flags = memalloc_noio_save();
|
||||
page_cache_sync_readahead(mapping, ra, filp, index,
|
||||
last_index - index);
|
||||
page_cache_sync_ra(&ractl, last_index - index);
|
||||
if (iocb->ki_flags & IOCB_NOWAIT)
|
||||
memalloc_noio_restore(flags);
|
||||
filemap_get_read_batch(mapping, index, last_index - 1, fbatch);
|
||||
|
|
Loading…
Reference in New Issue
Block a user