Lines Matching defs:page
273 void f2fs_register_inmem_page(struct inode *inode, struct page *page)
277 f2fs_trace_pid(page);
279 f2fs_set_page_private(page, ATOMIC_WRITTEN_PAGE);
283 /* add atomic page indices to the list */
284 new->page = page;
288 get_page(page);
294 trace_f2fs_register_inmem_page(page, INMEM);
306 struct page *page = cur->page;
309 trace_f2fs_commit_inmem_page(page, INMEM_DROP);
313 * to avoid deadlock in between page lock and
316 if (!trylock_page(page))
319 lock_page(page);
322 f2fs_wait_on_page_writeback(page, DATA, true, true);
328 trace_f2fs_commit_inmem_page(page, INMEM_REVOKE);
331 err = f2fs_get_dnode_of_data(&dn, page->index,
361 ClearPageUptodate(page);
362 clear_cold_data(page);
364 f2fs_clear_page_private(page);
365 f2fs_put_page(page, 1);
440 void f2fs_drop_inmem_page(struct inode *inode, struct page *page)
448 f2fs_bug_on(sbi, !IS_ATOMIC_WRITTEN_PAGE(page));
452 if (tmp->page == page) {
465 ClearPageUptodate(page);
466 f2fs_clear_page_private(page);
467 f2fs_put_page(page, 0);
469 trace_f2fs_commit_inmem_page(page, INMEM_INVALIDATE);
492 struct page *page = cur->page;
494 lock_page(page);
495 if (page->mapping == inode->i_mapping) {
496 trace_f2fs_commit_inmem_page(page, INMEM);
498 f2fs_wait_on_page_writeback(page, DATA, true, true);
500 set_page_dirty(page);
501 if (clear_page_dirty_for_io(page)) {
506 fio.page = page;
518 unlock_page(page);
525 unlock_page(page);
2535 * Caller should put this summary page
2537 struct page *f2fs_get_sum_page(struct f2fs_sb_info *sbi, unsigned int segno)
2547 struct page *page = f2fs_grab_meta_page(sbi, blk_addr);
2549 memcpy(page_address(page), src, PAGE_SIZE);
2550 set_page_dirty(page);
2551 f2fs_put_page(page, 1);
2564 struct page *page = f2fs_grab_meta_page(sbi, blk_addr);
2568 dst = (struct f2fs_summary_block *)page_address(page);
2582 set_page_dirty(page);
2583 f2fs_put_page(page, 1);
2830 struct page *sum_page;
3427 struct inode *inode = fio->page->mapping->host;
3434 if (IS_DNODE(fio->page) && is_cold_node(fio->page))
3444 struct inode *inode = fio->page->mapping->host;
3446 if (is_cold_data(fio->page)) {
3461 if (IS_DNODE(fio->page))
3462 return is_cold_node(fio->page) ? CURSEG_WARM_NODE :
3495 void f2fs_allocate_data_block(struct f2fs_sb_info *sbi, struct page *page,
3565 if (page && page->mapping && page->mapping != NODE_MAPPING(sbi) &&
3566 page->mapping != META_MAPPING(sbi)) {
3567 inode = page->mapping->host;
3585 if (page && IS_NODESEG(type)) {
3586 fill_node_footer_blkaddr(page, NEXT_FREE_BLKADDR(sbi, curseg));
3588 f2fs_inode_chksum_set(sbi, page);
3639 f2fs_allocate_data_block(fio->sbi, fio->page, fio->old_blkaddr,
3645 /* writeout dirty page into bdev */
3658 void f2fs_do_write_meta_page(struct f2fs_sb_info *sbi, struct page *page,
3667 .old_blkaddr = page->index,
3668 .new_blkaddr = page->index,
3669 .page = page,
3674 if (unlikely(page->index >= MAIN_BLKADDR(sbi)))
3677 set_page_writeback(page);
3678 ClearPageError(page);
3681 stat_inc_meta_count(sbi, page->index);
3854 void f2fs_wait_on_page_writeback(struct page *page,
3857 if (PageWriteback(page)) {
3858 struct f2fs_sb_info *sbi = F2FS_P_SB(page);
3861 f2fs_submit_merged_write_cond(sbi, NULL, page, 0, type);
3863 f2fs_submit_merged_ipu_write(sbi, NULL, page);
3865 wait_on_page_writeback(page);
3866 f2fs_bug_on(sbi, locked && PageWriteback(page));
3868 wait_for_stable_page(page);
3876 struct page *cpage;
3905 struct page *page;
3911 page = f2fs_get_meta_page(sbi, start++);
3912 if (IS_ERR(page))
3913 return PTR_ERR(page);
3914 kaddr = (unsigned char *)page_address(page);
3950 f2fs_put_page(page, 1);
3951 page = NULL;
3953 page = f2fs_get_meta_page(sbi, start++);
3954 if (IS_ERR(page))
3955 return PTR_ERR(page);
3956 kaddr = (unsigned char *)page_address(page);
3960 f2fs_put_page(page, 1);
3969 struct page *new;
4082 struct page *page;
4089 page = f2fs_grab_meta_page(sbi, blkaddr++);
4090 kaddr = (unsigned char *)page_address(page);
4113 if (!page) {
4114 page = f2fs_grab_meta_page(sbi, blkaddr++);
4115 kaddr = (unsigned char *)page_address(page);
4127 set_page_dirty(page);
4128 f2fs_put_page(page, 1);
4129 page = NULL;
4132 if (page) {
4133 set_page_dirty(page);
4134 f2fs_put_page(page, 1);
4186 static struct page *get_current_sit_page(struct f2fs_sb_info *sbi,
4192 static struct page *get_next_sit_page(struct f2fs_sb_info *sbi,
4196 struct page *page;
4202 page = f2fs_grab_meta_page(sbi, dst_off);
4203 seg_info_to_sit_page(sbi, page, start);
4205 set_page_dirty(page);
4208 return page;
4332 * #2, flush sit entries to sit page.
4335 struct page *page = NULL;
4349 page = get_next_sit_page(sbi, start_segno);
4350 raw_sit = page_address(page);
4396 f2fs_put_page(page, 1);
4615 struct page *page;
4618 page = get_current_sit_page(sbi, start);
4619 if (IS_ERR(page))
4620 return PTR_ERR(page);
4621 sit_blk = (struct f2fs_sit_block *)page_address(page);
4623 f2fs_put_page(page, 1);