Lines Matching defs:folio

46 	struct folio *folio;
54 xas_for_each_marked(&xas, folio, end, PAGECACHE_TAG_DIRTY) {
55 if (xas_retry(&xas, folio))
59 folio_lock(folio);
60 folio_clear_dirty_for_io(folio);
61 folio_unlock(folio);
74 struct folio *folio;
85 xas_for_each(&xas, folio, end) {
86 if (xas_retry(&xas, folio))
88 if (!folio_test_writeback(folio)) {
90 len, start, folio->index, end);
94 folio_detach_private(folio);
95 folio_end_writeback(folio);
107 struct folio *folio;
118 xas_for_each(&xas, folio, end) {
119 if (xas_retry(&xas, folio))
121 if (!folio_test_writeback(folio)) {
123 len, start, folio->index, end);
127 folio_set_error(folio);
128 folio_end_writeback(folio);
140 struct folio *folio;
151 xas_for_each(&xas, folio, end) {
152 if (!folio_test_writeback(folio)) {
154 len, start, folio->index, end);
158 filemap_dirty_folio(folio->mapping, folio);
159 folio_end_writeback(folio);
2633 struct folio *folio;
2649 xas_for_each(xas, folio, ULONG_MAX) {
2651 if (xas_retry(xas, folio))
2653 if (xa_is_value(folio))
2655 if (folio->index != index) {
2660 if (!folio_try_get_rcu(folio)) {
2664 nr_pages = folio_nr_pages(folio);
2671 if (unlikely(folio != xas_reload(xas))) {
2672 folio_put(folio);
2677 if (!folio_trylock(folio)) {
2678 folio_put(folio);
2682 if (!folio_test_dirty(folio) ||
2683 folio_test_writeback(folio)) {
2684 folio_unlock(folio);
2685 folio_put(folio);
2691 len = folio_size(folio);
2700 if (!folio_batch_add(&batch, folio))
2716 folio = batch.folios[i];
2717 /* The folio should be locked, dirty and not undergoing
2720 if (!folio_clear_dirty_for_io(folio))
2722 folio_start_writeback(folio);
2723 folio_unlock(folio);
2737 struct folio *folio,
2750 size_t len = folio_size(folio);
2754 /* The folio should be locked, dirty and not undergoing writeback. */
2755 if (!folio_clear_dirty_for_io(folio))
2757 folio_start_writeback(folio);
2759 count -= folio_nr_pages(folio);
2782 wdata->offset = folio_pos(folio);
2809 max_pages -= folio_nr_pages(folio);
2822 folio_unlock(folio);
2880 struct folio *folio;
2890 folio = xas_find_marked(xas, end / PAGE_SIZE, PAGECACHE_TAG_DIRTY);
2891 if (xas_retry(xas, folio) || xa_is_value(folio))
2893 if (!folio)
2896 if (!folio_try_get_rcu(folio)) {
2901 if (unlikely(folio != xas_reload(xas))) {
2902 folio_put(folio);
2911 if (!folio)
2914 start = folio_pos(folio); /* May regress with THPs */
2923 ret = folio_lock_killable(folio);
2927 if (!folio_trylock(folio))
2931 if (folio->mapping != mapping ||
2932 !folio_test_dirty(folio)) {
2933 start += folio_size(folio);
2934 folio_unlock(folio);
2938 if (folio_test_writeback(folio) ||
2939 folio_test_fscache(folio)) {
2940 folio_unlock(folio);
2942 folio_wait_writeback(folio);
2944 folio_wait_fscache(folio);
2949 start += folio_size(folio);
2960 ret = cifs_write_back_from_locked_folio(mapping, wbc, xas, folio, start, end);
3082 struct folio *folio = page_folio(page);
3093 if (folio_test_checked(folio)) {
3095 folio_mark_uptodate(folio);
3096 folio_clear_checked(folio);
3097 } else if (!folio_test_uptodate(folio) && copied == PAGE_SIZE)
3098 folio_mark_uptodate(folio);
3100 if (!folio_test_uptodate(folio)) {
3638 * thread. This also takes a pin on every folio involved.
4170 * thread. This also takes a pin on every folio involved.
4403 struct folio *folio = page_folio(vmf->page);
4405 /* Wait for the folio to be written to the cache before we allow it to
4406 * be modified. We then assume the entire folio will need writing back.
4409 if (folio_test_fscache(folio) &&
4410 folio_wait_fscache_killable(folio) < 0)
4414 folio_wait_writeback(folio);
4416 if (folio_lock_killable(folio) < 0)
4469 struct folio *folio;
4473 xas_for_each(&xas, folio, last) {
4474 folio_unlock(folio);
4483 struct folio *folio;
4499 xas_for_each(&xas, folio, last) {
4501 flush_dcache_folio(folio);
4502 folio_mark_uptodate(folio);
4504 folio_unlock(folio);
4551 struct folio *folio;
4573 folio = readahead_folio(ractl);
4574 fsize = folio_nr_pages(folio);
4578 &folio->page) < 0) {
4586 folio_unlock(folio);
4724 static int cifs_read_folio(struct file *file, struct folio *folio)
4726 struct page *page = &folio->page;
4872 static bool cifs_release_folio(struct folio *folio, gfp_t gfp)
4874 if (folio_test_private(folio))
4876 if (folio_test_fscache(folio)) {
4879 folio_wait_fscache(folio);
4881 fscache_note_page_release(cifs_inode_cookie(folio->mapping->host));
4885 static void cifs_invalidate_folio(struct folio *folio, size_t offset,
4888 folio_wait_fscache(folio);
4891 static int cifs_launder_folio(struct folio *folio)
4894 loff_t range_start = folio_pos(folio);
4895 loff_t range_end = range_start + folio_size(folio);
4903 cifs_dbg(FYI, "Launder page: %lu\n", folio->index);
4905 if (folio_clear_dirty_for_io(folio))
4906 rc = cifs_writepage_locked(&folio->page, &wbc);
4908 folio_wait_fscache(folio);
5085 static bool cifs_dirty_folio(struct address_space *mapping, struct folio *folio)
5087 return fscache_dirty_folio(mapping, folio,