Lines Matching refs:folio

19 	struct folio *folio;  in netfs_rreq_unlock_folios()  local
47 xas_for_each(&xas, folio, last_page) { in netfs_rreq_unlock_folios()
52 if (xas_retry(&xas, folio)) in netfs_rreq_unlock_folios()
55 pg_end = folio_pos(folio) + folio_size(folio) - 1; in netfs_rreq_unlock_folios()
66 folio_start_fscache(folio); in netfs_rreq_unlock_folios()
88 flush_dcache_folio(folio); in netfs_rreq_unlock_folios()
89 folio_mark_uptodate(folio); in netfs_rreq_unlock_folios()
93 if (folio_index(folio) == rreq->no_unlock_folio && in netfs_rreq_unlock_folios()
97 folio_unlock(folio); in netfs_rreq_unlock_folios()
224 int netfs_read_folio(struct file *file, struct folio *folio) in netfs_read_folio() argument
226 struct address_space *mapping = folio_file_mapping(folio); in netfs_read_folio()
231 _enter("%lx", folio_index(folio)); in netfs_read_folio()
234 folio_file_pos(folio), folio_size(folio), in netfs_read_folio()
254 folio_unlock(folio); in netfs_read_folio()
274 static bool netfs_skip_folio_read(struct folio *folio, loff_t pos, size_t len, in netfs_skip_folio_read() argument
277 struct inode *inode = folio_inode(folio); in netfs_skip_folio_read()
279 size_t offset = offset_in_folio(folio, pos); in netfs_skip_folio_read()
280 size_t plen = folio_size(folio); in netfs_skip_folio_read()
285 zero_user_segment(&folio->page, 0, plen); in netfs_skip_folio_read()
286 folio_mark_uptodate(folio); in netfs_skip_folio_read()
304 zero_user_segments(&folio->page, 0, offset, offset + len, plen); in netfs_skip_folio_read()
343 loff_t pos, unsigned int len, struct folio **_folio, in netfs_write_begin()
347 struct folio *folio; in netfs_write_begin() local
354 folio = __filemap_get_folio(mapping, index, FGP_WRITEBEGIN, in netfs_write_begin()
356 if (IS_ERR(folio)) in netfs_write_begin()
357 return PTR_ERR(folio); in netfs_write_begin()
361 ret = ctx->ops->check_write_begin(file, pos, len, &folio, _fsdata); in netfs_write_begin()
366 if (!folio) in netfs_write_begin()
370 if (folio_test_uptodate(folio)) in netfs_write_begin()
378 netfs_skip_folio_read(folio, pos, len, false)) { in netfs_write_begin()
384 folio_file_pos(folio), folio_size(folio), in netfs_write_begin()
390 rreq->no_unlock_folio = folio_index(folio); in netfs_write_begin()
405 ractl._nr_pages = folio_nr_pages(folio); in netfs_write_begin()
409 folio_get(folio); in netfs_write_begin()
418 ret = folio_wait_fscache_killable(folio); in netfs_write_begin()
422 *_folio = folio; in netfs_write_begin()
429 if (folio) { in netfs_write_begin()
430 folio_unlock(folio); in netfs_write_begin()
431 folio_put(folio); in netfs_write_begin()