Lines Matching defs:folio
17 * folio is present but not up-to-date, readahead will not try to read
21 * system call or a page fault) finds that the requested folio is not in
23 * readahead flag set. This flag indicates that the folio was read
31 * flag will be set on the first folio in this async section to trigger
82 * for any folio which ->readahead() did not read, and only an error
86 * each folio from those prepared for readahead. It may fail to read a
87 * folio by:
93 * * failing to actually submit a read request for a given folio,
98 * In the last two cases, the folio should be unlocked by the filesystem
100 * folio will be unlocked by the VFS.
149 struct folio *folio;
166 while ((folio = readahead_folio(rac)) != NULL) {
167 unsigned long nr = folio_nr_pages(folio);
169 folio_get(folio);
173 filemap_remove_folio(folio);
175 folio_unlock(folio);
176 folio_put(folio);
179 while ((folio = readahead_folio(rac)) != NULL)
180 aops->read_folio(rac->file, folio);
230 struct folio *folio = xa_load(&mapping->i_pages, index + i);
232 if (folio && !xa_is_value(folio)) {
247 folio = filemap_alloc_folio(gfp_mask, 0);
248 if (!folio)
250 if (filemap_add_folio(mapping, folio, index + i,
252 folio_put(folio);
259 folio_set_readahead(folio);
260 ractl->_workingset |= folio_test_workingset(folio);
265 * Now start the IO. We ignore I/O errors - if the folio is not
468 struct folio *folio = filemap_alloc_folio(gfp, order);
470 if (!folio)
474 folio_set_readahead(folio);
475 err = filemap_add_folio(ractl->mapping, folio, index, gfp);
477 folio_put(folio);
482 ractl->_workingset |= folio_test_workingset(folio);
553 struct folio *folio, unsigned long req_size)
561 unsigned int order = folio ? folio_order(folio) : 0;
590 * Hit a marked folio without valid readahead state.
595 if (folio) {
700 struct folio *folio, unsigned long req_count)
709 if (folio_test_writeback(folio))
712 folio_clear_readahead(folio);
717 ondemand_readahead(ractl, folio, req_count);
791 struct folio *folio = xa_load(&mapping->i_pages, index);
793 if (folio && !xa_is_value(folio))
796 folio = filemap_alloc_folio(gfp_mask, 0);
797 if (!folio)
799 if (filemap_add_folio(mapping, folio, index, gfp_mask) < 0) {
800 folio_put(folio);
803 if (unlikely(folio_test_workingset(folio)) &&
809 ractl->_index = folio->index;
818 struct folio *folio = xa_load(&mapping->i_pages, index);
820 if (folio && !xa_is_value(folio))
823 folio = filemap_alloc_folio(gfp_mask, 0);
824 if (!folio)
826 if (filemap_add_folio(mapping, folio, index, gfp_mask) < 0) {
827 folio_put(folio);
830 if (unlikely(folio_test_workingset(folio)) &&