Lines Matching refs:folio

115 static bool v9fs_release_folio(struct folio *folio, gfp_t gfp)  in v9fs_release_folio()  argument
117 if (folio_test_private(folio)) in v9fs_release_folio()
120 if (folio_test_fscache(folio)) { in v9fs_release_folio()
123 folio_wait_fscache(folio); in v9fs_release_folio()
125 fscache_note_page_release(v9fs_inode_cookie(V9FS_I(folio_inode(folio)))); in v9fs_release_folio()
130 static void v9fs_invalidate_folio(struct folio *folio, size_t offset, in v9fs_invalidate_folio() argument
133 folio_wait_fscache(folio); in v9fs_invalidate_folio()
152 static int v9fs_vfs_write_folio_locked(struct folio *folio) in v9fs_vfs_write_folio_locked() argument
154 struct inode *inode = folio_inode(folio); in v9fs_vfs_write_folio_locked()
155 loff_t start = folio_pos(folio); in v9fs_vfs_write_folio_locked()
158 size_t len = folio_size(folio); in v9fs_vfs_write_folio_locked()
169 iov_iter_xarray(&from, ITER_SOURCE, &folio_mapping(folio)->i_pages, start, len); in v9fs_vfs_write_folio_locked()
178 folio_wait_fscache(folio); in v9fs_vfs_write_folio_locked()
179 folio_start_writeback(folio); in v9fs_vfs_write_folio_locked()
187 folio_start_fscache(folio); in v9fs_vfs_write_folio_locked()
189 folio_mapping(folio), start, len, i_size, in v9fs_vfs_write_folio_locked()
195 folio_end_writeback(folio); in v9fs_vfs_write_folio_locked()
203 struct folio *folio = page_folio(page); in v9fs_vfs_writepage() local
206 p9_debug(P9_DEBUG_VFS, "folio %p\n", folio); in v9fs_vfs_writepage()
208 retval = v9fs_vfs_write_folio_locked(folio); in v9fs_vfs_writepage()
211 folio_redirty_for_writepage(wbc, folio); in v9fs_vfs_writepage()
214 mapping_set_error(folio_mapping(folio), retval); in v9fs_vfs_writepage()
219 folio_unlock(folio); in v9fs_vfs_writepage()
223 static int v9fs_launder_folio(struct folio *folio) in v9fs_launder_folio() argument
227 if (folio_clear_dirty_for_io(folio)) { in v9fs_launder_folio()
228 retval = v9fs_vfs_write_folio_locked(folio); in v9fs_launder_folio()
232 folio_wait_fscache(folio); in v9fs_launder_folio()
280 struct folio *folio; in v9fs_write_begin() local
289 retval = netfs_write_begin(&v9inode->netfs, filp, mapping, pos, len, &folio, fsdata); in v9fs_write_begin()
293 *subpagep = &folio->page; in v9fs_write_begin()
302 struct folio *folio = page_folio(subpage); in v9fs_write_end() local
307 if (!folio_test_uptodate(folio)) { in v9fs_write_end()
313 folio_mark_uptodate(folio); in v9fs_write_end()
328 folio_mark_dirty(folio); in v9fs_write_end()
330 folio_unlock(folio); in v9fs_write_end()
331 folio_put(folio); in v9fs_write_end()
341 static bool v9fs_dirty_folio(struct address_space *mapping, struct folio *folio) in v9fs_dirty_folio() argument
345 return fscache_dirty_folio(mapping, folio, v9fs_inode_cookie(v9inode)); in v9fs_dirty_folio()