Lines Matching defs:folio
108 * v9fs_release_folio - release the private state associated with a folio
109 * @folio: The folio to be released
115 static bool v9fs_release_folio(struct folio *folio, gfp_t gfp)
117 if (folio_test_private(folio))
120 if (folio_test_fscache(folio)) {
123 folio_wait_fscache(folio);
125 fscache_note_page_release(v9fs_inode_cookie(V9FS_I(folio_inode(folio))));
130 static void v9fs_invalidate_folio(struct folio *folio, size_t offset,
133 folio_wait_fscache(folio);
152 static int v9fs_vfs_write_folio_locked(struct folio *folio)
154 struct inode *inode = folio_inode(folio);
155 loff_t start = folio_pos(folio);
158 size_t len = folio_size(folio);
169 iov_iter_xarray(&from, ITER_SOURCE, &folio_mapping(folio)->i_pages, start, len);
173 WARN_ONCE(1, "folio expected an open fid inode->i_private=%p\n",
178 folio_wait_fscache(folio);
179 folio_start_writeback(folio);
187 folio_start_fscache(folio);
189 folio_mapping(folio), start, len, i_size,
195 folio_end_writeback(folio);
203 struct folio *folio = page_folio(page);
206 p9_debug(P9_DEBUG_VFS, "folio %p\n", folio);
208 retval = v9fs_vfs_write_folio_locked(folio);
211 folio_redirty_for_writepage(wbc, folio);
214 mapping_set_error(folio_mapping(folio), retval);
219 folio_unlock(folio);
223 static int v9fs_launder_folio(struct folio *folio)
227 if (folio_clear_dirty_for_io(folio)) {
228 retval = v9fs_vfs_write_folio_locked(folio);
232 folio_wait_fscache(folio);
280 struct folio *folio;
289 retval = netfs_write_begin(&v9inode->netfs, filp, mapping, pos, len, &folio, fsdata);
293 *subpagep = &folio->page;
302 struct folio *folio = page_folio(subpage);
307 if (!folio_test_uptodate(folio)) {
313 folio_mark_uptodate(folio);
328 folio_mark_dirty(folio);
330 folio_unlock(folio);
331 folio_put(folio);
341 static bool v9fs_dirty_folio(struct address_space *mapping, struct folio *folio)
345 return fscache_dirty_folio(mapping, folio, v9fs_inode_cookie(v9inode));