Lines Matching defs:folio

53 			folio_set_error(fi.folio);
55 folio_mark_uptodate(fi.folio);
56 folio_unlock(fi.folio);
69 folio_set_error(fi.folio);
70 mapping_set_error(fi.folio->mapping, err);
72 folio_end_writeback(fi.folio);
104 static void map_buffer_to_folio(struct folio *folio, struct buffer_head *bh,
107 struct inode *inode = folio->mapping->host;
111 head = folio_buffers(folio);
115 * the folio and the folio just needs to be set up to date
119 folio_mark_uptodate(folio);
122 create_empty_buffers(&folio->page, i_blocksize(inode), 0);
123 head = folio_buffers(folio);
141 struct folio *folio;
161 struct folio *folio = args->folio;
162 struct inode *inode = folio->mapping->host;
179 gfp_t gfp = mapping_gfp_constraint(folio->mapping, GFP_KERNEL);
182 VM_BUG_ON_FOLIO(folio_test_large(folio), folio);
189 if (folio_buffers(folio))
192 block_in_file = (sector_t)folio->index << (PAGE_SHIFT - blkbits);
225 * Then do more get_blocks calls until we are done with this folio.
227 map_bh->b_folio = folio;
251 * we just collected from get_block into the folio's buffers
255 map_buffer_to_folio(folio, map_bh, page_block);
280 folio_zero_segment(folio, first_hole << blkbits, PAGE_SIZE);
282 folio_mark_uptodate(folio);
283 folio_unlock(folio);
287 folio_set_mappedtodisk(folio);
291 * This folio will go to BIO. Do we need to send this BIO off first?
306 if (!bio_add_folio(args->bio, folio, length, 0)) {
324 if (!folio_test_uptodate(folio))
325 block_read_full_folio(folio, args->get_block);
327 folio_unlock(folio);
372 struct folio *folio;
378 while ((folio = readahead_folio(rac))) {
379 prefetchw(&folio->flags);
380 args.folio = folio;
392 int mpage_read_folio(struct folio *folio, get_block_t get_block)
395 .folio = folio,
469 static int __mpage_writepage(struct folio *folio, struct writeback_control *wbc,
474 struct address_space *mapping = folio->mapping;
491 struct buffer_head *head = folio_buffers(folio);
545 BUG_ON(!folio_test_uptodate(folio));
546 block_in_file = (sector_t)folio->index << (PAGE_SHIFT - blkbits);
554 map_bh.b_folio = folio;
585 /* Don't bother writing beyond EOF, truncate will discard the folio */
586 if (folio_pos(folio) >= i_size)
588 length = folio_size(folio);
589 if (folio_pos(folio) + length > i_size) {
598 length = i_size - folio_pos(folio);
599 folio_zero_segment(folio, length, folio_size(folio));
622 wbc_account_cgroup_owner(wbc, &folio->page, folio_size(folio));
624 if (!bio_add_folio(bio, folio, length, 0)) {
629 clean_buffers(&folio->page, first_unmapped);
631 BUG_ON(folio_test_writeback(folio));
632 folio_start_writeback(folio);
633 folio_unlock(folio);
652 ret = block_write_full_page(&folio->page, mpd->get_block, wbc);