/linux/mm/ |
H A D | readahead.c | 182 static struct folio *ractl_alloc_folio(struct readahead_control *ractl, in ractl_alloc_folio() argument 188 if (folio && ractl->dropbehind) in ractl_alloc_folio() 208 void page_cache_ra_unbounded(struct readahead_control *ractl, in page_cache_ra_unbounded() argument 211 struct address_space *mapping = ractl->mapping; in page_cache_ra_unbounded() 212 unsigned long index = readahead_index(ractl); in page_cache_ra_unbounded() 241 ra_folio_index = round_up(readahead_index(ractl) + in page_cache_ra_unbounded() 246 nr_to_read += readahead_index(ractl) - index; in page_cache_ra_unbounded() 247 ractl->_index = index; in page_cache_ra_unbounded() 265 read_pages(ractl); in page_cache_ra_unbounded() 266 ractl->_index += min_nrpages; in page_cache_ra_unbounded() [all …]
|
H A D | filemap.c | 2543 DEFINE_READAHEAD(ractl, file, &file->f_ra, mapping, folio->index); in filemap_readahead() 2548 ractl.dropbehind = 1; in filemap_readahead() 2549 page_cache_async_ra(&ractl, folio, last_index - folio->index); in filemap_readahead() 2572 DEFINE_READAHEAD(ractl, filp, &filp->f_ra, mapping, index); in filemap_get_pages() 2579 ractl.dropbehind = 1; in filemap_get_pages() 2580 page_cache_sync_ra(&ractl, last_index - index); in filemap_get_pages() 3196 DEFINE_READAHEAD(ractl, file, ra, mapping, vmf->pgoff); in do_sync_mmap_readahead() 3213 ractl._index &= ~((unsigned long)HPAGE_PMD_NR - 1); in do_sync_mmap_readahead() 3222 page_cache_ra_order(&ractl, ra, HPAGE_PMD_ORDER); in do_sync_mmap_readahead() 3235 page_cache_sync_ra(&ractl, ra->ra_pages); in do_sync_mmap_readahead() [all …]
|
H A D | internal.h | 404 DEFINE_READAHEAD(ractl, file, &file->f_ra, mapping, index); in force_page_cache_readahead() 405 force_page_cache_ra(&ractl, nr_to_read); in force_page_cache_readahead()
|
/linux/fs/netfs/ |
H A D | buffered_read.c | 24 struct readahead_control *ractl) in netfs_rreq_expand() argument 46 if (rreq->start != readahead_pos(ractl) || in netfs_rreq_expand() 47 rreq->len != readahead_length(ractl)) { in netfs_rreq_expand() 48 readahead_expand(ractl, rreq->start, rreq->len); in netfs_rreq_expand() 49 rreq->start = readahead_pos(ractl); in netfs_rreq_expand() 50 rreq->len = readahead_length(ractl); in netfs_rreq_expand() 52 trace_netfs_read(rreq, readahead_pos(ractl), readahead_length(ractl), in netfs_rreq_expand() 89 if (rreq->ractl) { in netfs_prepare_read_iterator() 102 added = rolling_buffer_load_from_ra(&rreq->buffer, rreq->ractl, in netfs_prepare_read_iterator() 337 void netfs_readahead(struct readahead_control *ractl) in netfs_readahead() argument [all …]
|
H A D | rolling_buffer.c | 117 struct readahead_control *ractl, in rolling_buffer_load_from_ra() argument 130 nr = __readahead_batch(ractl, vec + folio_batch_count(&fq->vec), in rolling_buffer_load_from_ra()
|
/linux/fs/nfs/ |
H A D | read.c | 405 void nfs_readahead(struct readahead_control *ractl) in nfs_readahead() argument 409 unsigned int nr_pages = readahead_count(ractl); in nfs_readahead() 410 struct file *file = ractl->file; in nfs_readahead() 411 struct inode *inode = ractl->mapping->host; in nfs_readahead() 415 trace_nfs_aop_readahead(inode, readahead_pos(ractl), nr_pages); in nfs_readahead() 417 task_io_account_read(readahead_length(ractl)); in nfs_readahead() 423 ret = nfs_netfs_readahead(ractl); in nfs_readahead() 438 while ((folio = readahead_folio(ractl)) != NULL) { in nfs_readahead()
|
H A D | fscache.h | 99 extern int nfs_netfs_readahead(struct readahead_control *ractl); 177 static inline int nfs_netfs_readahead(struct readahead_control *ractl) in nfs_netfs_readahead() argument
|
H A D | fscache.c | 252 int nfs_netfs_readahead(struct readahead_control *ractl) in nfs_netfs_readahead() argument 254 struct inode *inode = ractl->mapping->host; in nfs_netfs_readahead() 259 netfs_readahead(ractl); in nfs_netfs_readahead()
|
/linux/fs/squashfs/ |
H A D | file.c | 566 static void squashfs_readahead(struct readahead_control *ractl) in squashfs_readahead() argument 568 struct inode *inode = ractl->mapping->host; in squashfs_readahead() 572 loff_t start = readahead_pos(ractl) & ~mask; in squashfs_readahead() 573 size_t len = readahead_length(ractl) + readahead_pos(ractl) - start; in squashfs_readahead() 581 readahead_expand(ractl, start, (len | mask) + 1); in squashfs_readahead() 599 nr_pages = __readahead_batch(ractl, pages, max_pages); in squashfs_readahead() 603 if (readahead_pos(ractl) >= i_size_read(inode)) in squashfs_readahead() 648 start += readahead_batch_length(ractl); in squashfs_readahead()
|
/linux/fs/bcachefs/ |
H A D | fs-io-buffered.c | 46 struct readahead_control *ractl) in readpages_iter_init() argument 50 *iter = (struct readpages_iter) { ractl->mapping }; in readpages_iter_init() 52 while ((folio = __readahead_folio(ractl))) { in readpages_iter_init() 56 ractl->_nr_pages += folio_nr_pages(folio); in readpages_iter_init() 57 ractl->_index -= folio_nr_pages(folio); in readpages_iter_init() 247 void bch2_readahead(struct readahead_control *ractl) in bch2_readahead() argument 249 struct bch_inode_info *inode = to_bch_ei(ractl->mapping->host); in bch2_readahead() 258 int ret = readpages_iter_init(&readpages_iter, ractl); in bch2_readahead()
|
/linux/include/linux/ |
H A D | rolling_buffer.h | 49 struct readahead_control *ractl,
|
H A D | netfs.h | 234 struct readahead_control *ractl; /* Readahead descriptor */ member
|
/linux/fs/f2fs/ |
H A D | verity.c | 268 DEFINE_READAHEAD(ractl, NULL, NULL, inode->i_mapping, index); in f2fs_read_merkle_tree_page() 273 page_cache_ra_unbounded(&ractl, num_ra_pages, 0); in f2fs_read_merkle_tree_page()
|
/linux/fs/ext4/ |
H A D | verity.c | 370 DEFINE_READAHEAD(ractl, NULL, NULL, inode->i_mapping, index); in ext4_read_merkle_tree_page() 375 page_cache_ra_unbounded(&ractl, num_ra_pages, 0); in ext4_read_merkle_tree_page()
|
/linux/Documentation/filesystems/ |
H A D | netfs_library.rst | 137 void netfs_readahead(struct readahead_control *ractl);
|