Lines Matching refs:page
39 * We guarantee no failure on the returned page.
41 struct page *f2fs_grab_meta_page(struct f2fs_sb_info *sbi, pgoff_t index)
44 struct page *page;
46 page = f2fs_grab_cache_page(mapping, index, false);
47 if (!page) {
51 f2fs_wait_on_page_writeback(page, META, true, true);
52 if (!PageUptodate(page))
53 SetPageUptodate(page);
54 return page;
57 static struct page *__get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index,
61 struct page *page;
77 page = f2fs_grab_cache_page(mapping, index, false);
78 if (!page) {
82 if (PageUptodate(page))
85 fio.page = page;
89 f2fs_put_page(page, 1);
95 lock_page(page);
96 if (unlikely(page->mapping != mapping)) {
97 f2fs_put_page(page, 1);
101 if (unlikely(!PageUptodate(page))) {
102 f2fs_handle_page_eio(sbi, page->index, META);
103 f2fs_put_page(page, 1);
107 return page;
110 struct page *f2fs_get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index)
115 struct page *f2fs_get_meta_page_retry(struct f2fs_sb_info *sbi, pgoff_t index)
117 struct page *page;
121 page = __get_meta_page(sbi, index, true);
122 if (IS_ERR(page)) {
123 if (PTR_ERR(page) == -EIO &&
128 return page;
132 struct page *f2fs_get_tmp_page(struct f2fs_sb_info *sbi, pgoff_t index)
239 struct page *page;
287 page = f2fs_grab_cache_page(META_MAPPING(sbi),
289 if (!page)
291 if (PageUptodate(page)) {
292 f2fs_put_page(page, 1);
296 fio.page = page;
298 f2fs_put_page(page, err ? 1 : 0);
312 struct page *page;
318 page = find_get_page(META_MAPPING(sbi), index);
319 if (!page || !PageUptodate(page))
321 f2fs_put_page(page, 0);
327 static int __f2fs_write_meta_page(struct page *page,
331 struct f2fs_sb_info *sbi = F2FS_P_SB(page);
333 trace_f2fs_writepage(page, META);
337 ClearPageUptodate(page);
339 unlock_page(page);
346 if (wbc->for_reclaim && page->index < GET_SUM_BLOCK(sbi, 0))
349 f2fs_do_write_meta_page(sbi, page, io_type);
353 f2fs_submit_merged_write_cond(sbi, NULL, page, 0, META);
355 unlock_page(page);
363 redirty_page_for_writepage(wbc, page);
367 static int f2fs_write_meta_page(struct page *page,
370 return __f2fs_write_meta_page(page, wbc, FS_META_IO);
449 f2fs_wait_on_page_writeback(&folio->page, META,
455 if (__f2fs_write_meta_page(&folio->page, &wbc,
480 trace_f2fs_set_page_dirty(&folio->page, META);
486 set_page_private_reference(&folio->page);
743 struct page *page;
746 page = f2fs_get_meta_page(sbi, start_blk + i);
747 if (IS_ERR(page)) {
748 err = PTR_ERR(page);
752 orphan_blk = (struct f2fs_orphan_block *)page_address(page);
758 f2fs_put_page(page, 1);
762 f2fs_put_page(page, 1);
779 struct page *page = NULL;
788 * And, spin_lock should be avoided due to page operations below.
794 if (!page) {
795 page = f2fs_grab_meta_page(sbi, start_blk++);
797 (struct f2fs_orphan_block *)page_address(page);
812 set_page_dirty(page);
813 f2fs_put_page(page, 1);
816 page = NULL;
820 if (page) {
824 set_page_dirty(page);
825 f2fs_put_page(page, 1);
845 struct f2fs_checkpoint **cp_block, struct page **cp_page,
876 static struct page *validate_checkpoint(struct f2fs_sb_info *sbi,
879 struct page *cp_page_1 = NULL, *cp_page_2 = NULL;
921 struct page *cp1, *cp2, *cur_page;
1047 set_page_private_reference(&folio->page);
1405 struct page *page = f2fs_grab_meta_page(sbi, blk_addr);
1408 f2fs_wait_on_page_writeback(page, META, true, true);
1410 memcpy(page_address(page), src, PAGE_SIZE);
1412 set_page_dirty(page);
1413 if (unlikely(!clear_page_dirty_for_io(page)))
1416 /* writeout cp pack 2 page */
1417 err = __f2fs_write_meta_page(page, &wbc, FS_CP_META_IO);
1419 f2fs_put_page(page, 1);
1424 f2fs_put_page(page, 0);
1567 /* Here, we have one bio having CP pack except cp pack 2 page */
1580 /* barrier and flush checkpoint cp pack 2 page if it can */
1585 * invalidate intermediate page cache borrowed from meta inode which are
1609 * redirty superblock if metadata like node page or inode cache is