Lines Matching refs:folio
122 static bool v9fs_release_folio(struct folio *folio, gfp_t gfp) in v9fs_release_folio() argument
124 struct inode *inode = folio_inode(folio); in v9fs_release_folio()
126 if (folio_test_private(folio)) in v9fs_release_folio()
129 if (folio_test_fscache(folio)) { in v9fs_release_folio()
132 folio_wait_fscache(folio); in v9fs_release_folio()
139 static void v9fs_invalidate_folio(struct folio *folio, size_t offset, in v9fs_invalidate_folio() argument
142 folio_wait_fscache(folio); in v9fs_invalidate_folio()
159 static int v9fs_vfs_write_folio_locked(struct folio *folio) in v9fs_vfs_write_folio_locked() argument
161 struct inode *inode = folio_inode(folio); in v9fs_vfs_write_folio_locked()
164 loff_t start = folio_pos(folio); in v9fs_vfs_write_folio_locked()
167 size_t len = folio_size(folio); in v9fs_vfs_write_folio_locked()
175 iov_iter_xarray(&from, WRITE, &folio_mapping(folio)->i_pages, start, len); in v9fs_vfs_write_folio_locked()
180 folio_wait_fscache(folio); in v9fs_vfs_write_folio_locked()
181 folio_start_writeback(folio); in v9fs_vfs_write_folio_locked()
188 folio_start_fscache(folio); in v9fs_vfs_write_folio_locked()
190 folio_mapping(folio), start, len, i_size, in v9fs_vfs_write_folio_locked()
195 folio_end_writeback(folio); in v9fs_vfs_write_folio_locked()
201 struct folio *folio = page_folio(page); in v9fs_vfs_writepage() local
204 p9_debug(P9_DEBUG_VFS, "folio %p\n", folio); in v9fs_vfs_writepage()
206 retval = v9fs_vfs_write_folio_locked(folio); in v9fs_vfs_writepage()
209 folio_redirty_for_writepage(wbc, folio); in v9fs_vfs_writepage()
212 mapping_set_error(folio_mapping(folio), retval); in v9fs_vfs_writepage()
217 folio_unlock(folio); in v9fs_vfs_writepage()
221 static int v9fs_launder_folio(struct folio *folio) in v9fs_launder_folio() argument
225 if (folio_clear_dirty_for_io(folio)) { in v9fs_launder_folio()
226 retval = v9fs_vfs_write_folio_locked(folio); in v9fs_launder_folio()
230 folio_wait_fscache(folio); in v9fs_launder_folio()
278 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
308 if (!folio_test_uptodate(folio)) { in v9fs_write_end()
314 folio_mark_uptodate(folio); in v9fs_write_end()
326 folio_mark_dirty(folio); in v9fs_write_end()
328 folio_unlock(folio); in v9fs_write_end()
329 folio_put(folio); in v9fs_write_end()
339 static bool v9fs_dirty_folio(struct address_space *mapping, struct folio *folio) in v9fs_dirty_folio() argument
343 return fscache_dirty_folio(mapping, folio, v9fs_inode_cookie(v9inode)); in v9fs_dirty_folio()