Lines Matching refs:page
32 struct page *grab_meta_page(struct f2fs_sb_info *sbi, pgoff_t index) in grab_meta_page()
35 struct page *page = NULL; in grab_meta_page() local
37 page = grab_cache_page(mapping, index); in grab_meta_page()
38 if (!page) { in grab_meta_page()
42 f2fs_wait_on_page_writeback(page, META); in grab_meta_page()
43 SetPageUptodate(page); in grab_meta_page()
44 return page; in grab_meta_page()
50 static struct page *__get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index, in __get_meta_page()
54 struct page *page; in __get_meta_page() local
66 page = grab_cache_page(mapping, index); in __get_meta_page()
67 if (!page) { in __get_meta_page()
71 if (PageUptodate(page)) in __get_meta_page()
74 fio.page = page; in __get_meta_page()
77 f2fs_put_page(page, 1); in __get_meta_page()
81 lock_page(page); in __get_meta_page()
82 if (unlikely(page->mapping != mapping)) { in __get_meta_page()
83 f2fs_put_page(page, 1); in __get_meta_page()
92 if (unlikely(!PageUptodate(page))) in __get_meta_page()
95 return page; in __get_meta_page()
98 struct page *get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index) in get_meta_page()
104 struct page *get_tmp_page(struct f2fs_sb_info *sbi, pgoff_t index) in get_tmp_page()
147 struct page *page; in ra_meta_pages() local
190 page = grab_cache_page(META_MAPPING(sbi), fio.blk_addr); in ra_meta_pages()
191 if (!page) in ra_meta_pages()
193 if (PageUptodate(page)) { in ra_meta_pages()
194 f2fs_put_page(page, 1); in ra_meta_pages()
198 fio.page = page; in ra_meta_pages()
200 f2fs_put_page(page, 0); in ra_meta_pages()
209 struct page *page; in ra_meta_pages_cond() local
212 page = find_get_page(META_MAPPING(sbi), index); in ra_meta_pages_cond()
213 if (!page || (page && !PageUptodate(page))) in ra_meta_pages_cond()
215 f2fs_put_page(page, 0); in ra_meta_pages_cond()
221 static int f2fs_write_meta_page(struct page *page, in f2fs_write_meta_page() argument
224 struct f2fs_sb_info *sbi = F2FS_P_SB(page); in f2fs_write_meta_page()
226 trace_f2fs_writepage(page, META); in f2fs_write_meta_page()
230 if (wbc->for_reclaim && page->index < GET_SUM_BLOCK(sbi, 0)) in f2fs_write_meta_page()
235 f2fs_wait_on_page_writeback(page, META); in f2fs_write_meta_page()
236 write_meta_page(sbi, page); in f2fs_write_meta_page()
238 unlock_page(page); in f2fs_write_meta_page()
245 redirty_page_for_writepage(wbc, page); in f2fs_write_meta_page()
297 struct page *page = pvec.pages[i]; in sync_meta_pages() local
300 prev = page->index - 1; in sync_meta_pages()
301 if (nr_to_write != LONG_MAX && page->index != prev + 1) { in sync_meta_pages()
306 lock_page(page); in sync_meta_pages()
308 if (unlikely(page->mapping != mapping)) { in sync_meta_pages()
310 unlock_page(page); in sync_meta_pages()
313 if (!PageDirty(page)) { in sync_meta_pages()
318 if (!clear_page_dirty_for_io(page)) in sync_meta_pages()
321 if (mapping->a_ops->writepage(page, &wbc)) { in sync_meta_pages()
322 unlock_page(page); in sync_meta_pages()
326 prev = page->index; in sync_meta_pages()
340 static int f2fs_set_meta_page_dirty(struct page *page) in f2fs_set_meta_page_dirty() argument
342 trace_f2fs_set_page_dirty(page, META); in f2fs_set_meta_page_dirty()
344 SetPageUptodate(page); in f2fs_set_meta_page_dirty()
345 if (!PageDirty(page)) { in f2fs_set_meta_page_dirty()
346 __set_page_dirty_nobuffers(page); in f2fs_set_meta_page_dirty()
347 inc_page_count(F2FS_P_SB(page), F2FS_DIRTY_META); in f2fs_set_meta_page_dirty()
348 SetPagePrivate(page); in f2fs_set_meta_page_dirty()
349 f2fs_trace_pid(page); in f2fs_set_meta_page_dirty()
528 struct page *page = get_meta_page(sbi, start_blk + i); in recover_orphan_inodes() local
531 orphan_blk = (struct f2fs_orphan_block *)page_address(page); in recover_orphan_inodes()
536 f2fs_put_page(page, 1); in recover_orphan_inodes()
540 f2fs_put_page(page, 1); in recover_orphan_inodes()
554 struct page *page = NULL; in write_orphan_inodes() local
569 if (!page) { in write_orphan_inodes()
570 page = grab_meta_page(sbi, start_blk++); in write_orphan_inodes()
572 (struct f2fs_orphan_block *)page_address(page); in write_orphan_inodes()
587 set_page_dirty(page); in write_orphan_inodes()
588 f2fs_put_page(page, 1); in write_orphan_inodes()
591 page = NULL; in write_orphan_inodes()
595 if (page) { in write_orphan_inodes()
599 set_page_dirty(page); in write_orphan_inodes()
600 f2fs_put_page(page, 1); in write_orphan_inodes()
604 static struct page *validate_checkpoint(struct f2fs_sb_info *sbi, in validate_checkpoint()
607 struct page *cp_page_1, *cp_page_2 = NULL; in validate_checkpoint()
660 struct page *cp1, *cp2, *cur_page; in get_valid_checkpoint()
739 void update_dirty_page(struct inode *inode, struct page *page) in update_dirty_page() argument
766 SetPagePrivate(page); in update_dirty_page()
767 f2fs_trace_pid(page); in update_dirty_page()