Lines Matching refs:page

37 		struct page *page = bvec->bv_page;  in f2fs_read_end_io()  local
40 SetPageUptodate(page); in f2fs_read_end_io()
42 ClearPageUptodate(page); in f2fs_read_end_io()
43 SetPageError(page); in f2fs_read_end_io()
45 unlock_page(page); in f2fs_read_end_io()
57 struct page *page = bvec->bv_page; in f2fs_write_end_io() local
60 set_page_dirty(page); in f2fs_write_end_io()
61 set_bit(AS_EIO, &page->mapping->flags); in f2fs_write_end_io()
64 end_page_writeback(page); in f2fs_write_end_io()
136 int f2fs_submit_page_bio(struct f2fs_sb_info *sbi, struct page *page, in f2fs_submit_page_bio() argument
141 trace_f2fs_submit_page_bio(page, fio); in f2fs_submit_page_bio()
142 f2fs_trace_ios(page, fio, 0); in f2fs_submit_page_bio()
147 if (bio_add_page(bio, page, PAGE_CACHE_SIZE, 0) < PAGE_CACHE_SIZE) { in f2fs_submit_page_bio()
149 f2fs_put_page(page, 1); in f2fs_submit_page_bio()
157 void f2fs_submit_page_mbio(struct f2fs_sb_info *sbi, struct page *page, in f2fs_submit_page_mbio() argument
184 if (bio_add_page(io->bio, page, PAGE_CACHE_SIZE, 0) < in f2fs_submit_page_mbio()
191 f2fs_trace_ios(page, fio, 0); in f2fs_submit_page_mbio()
194 trace_f2fs_submit_page_mbio(page, fio); in f2fs_submit_page_mbio()
207 struct page *node_page = dn->node_page; in set_data_blkaddr()
908 struct page *find_data_page(struct inode *inode, pgoff_t index, bool sync) in find_data_page()
912 struct page *page; in find_data_page() local
928 page = find_get_page(mapping, index); in find_data_page()
929 if (page && PageUptodate(page)) in find_data_page()
930 return page; in find_data_page()
931 f2fs_put_page(page, 0); in find_data_page()
952 page = grab_cache_page(mapping, index); in find_data_page()
953 if (!page) in find_data_page()
956 if (PageUptodate(page)) { in find_data_page()
957 unlock_page(page); in find_data_page()
958 return page; in find_data_page()
962 err = f2fs_submit_page_bio(F2FS_I_SB(inode), page, &fio); in find_data_page()
967 wait_on_page_locked(page); in find_data_page()
968 if (unlikely(!PageUptodate(page))) { in find_data_page()
969 f2fs_put_page(page, 0); in find_data_page()
973 return page; in find_data_page()
981 struct page *get_lock_data_page(struct inode *inode, pgoff_t index) in get_lock_data_page()
985 struct page *page; in get_lock_data_page() local
993 page = grab_cache_page(mapping, index); in get_lock_data_page()
994 if (!page) in get_lock_data_page()
1005 f2fs_put_page(page, 1); in get_lock_data_page()
1011 f2fs_put_page(page, 1); in get_lock_data_page()
1016 if (PageUptodate(page)) in get_lock_data_page()
1017 return page; in get_lock_data_page()
1026 zero_user_segment(page, 0, PAGE_CACHE_SIZE); in get_lock_data_page()
1027 SetPageUptodate(page); in get_lock_data_page()
1028 return page; in get_lock_data_page()
1032 err = f2fs_submit_page_bio(F2FS_I_SB(inode), page, &fio); in get_lock_data_page()
1036 lock_page(page); in get_lock_data_page()
1037 if (unlikely(!PageUptodate(page))) { in get_lock_data_page()
1038 f2fs_put_page(page, 1); in get_lock_data_page()
1041 if (unlikely(page->mapping != mapping)) { in get_lock_data_page()
1042 f2fs_put_page(page, 1); in get_lock_data_page()
1045 return page; in get_lock_data_page()
1056 struct page *get_new_data_page(struct inode *inode, in get_new_data_page()
1057 struct page *ipage, pgoff_t index, bool new_i_size) in get_new_data_page()
1060 struct page *page; in get_new_data_page() local
1069 page = grab_cache_page(mapping, index); in get_new_data_page()
1070 if (!page) { in get_new_data_page()
1075 if (PageUptodate(page)) in get_new_data_page()
1076 return page; in get_new_data_page()
1079 zero_user_segment(page, 0, PAGE_CACHE_SIZE); in get_new_data_page()
1080 SetPageUptodate(page); in get_new_data_page()
1087 err = f2fs_submit_page_bio(F2FS_I_SB(inode), page, &fio); in get_new_data_page()
1091 lock_page(page); in get_new_data_page()
1092 if (unlikely(!PageUptodate(page))) { in get_new_data_page()
1093 f2fs_put_page(page, 1); in get_new_data_page()
1097 if (unlikely(page->mapping != mapping)) { in get_new_data_page()
1098 f2fs_put_page(page, 1); in get_new_data_page()
1109 return page; in get_new_data_page()
1342 static int f2fs_read_data_page(struct file *file, struct page *page) in f2fs_read_data_page() argument
1344 struct inode *inode = page->mapping->host; in f2fs_read_data_page()
1347 trace_f2fs_readpage(page, DATA); in f2fs_read_data_page()
1351 ret = f2fs_read_inline_data(inode, page); in f2fs_read_data_page()
1353 ret = mpage_readpage(page, get_data_block); in f2fs_read_data_page()
1371 int do_write_data_page(struct page *page, struct f2fs_io_info *fio) in do_write_data_page() argument
1373 struct inode *inode = page->mapping->host; in do_write_data_page()
1378 err = get_dnode_of_data(&dn, page->index, LOOKUP_NODE); in do_write_data_page()
1386 ClearPageUptodate(page); in do_write_data_page()
1390 set_page_writeback(page); in do_write_data_page()
1397 !is_cold_data(page) && in do_write_data_page()
1399 rewrite_data_page(page, fio); in do_write_data_page()
1401 trace_f2fs_do_write_data_page(page, IPU); in do_write_data_page()
1403 write_data_page(page, &dn, fio); in do_write_data_page()
1406 trace_f2fs_do_write_data_page(page, OPU); in do_write_data_page()
1408 if (page->index == 0) in do_write_data_page()
1416 static int f2fs_write_data_page(struct page *page, in f2fs_write_data_page() argument
1419 struct inode *inode = page->mapping->host; in f2fs_write_data_page()
1432 trace_f2fs_writepage(page, DATA); in f2fs_write_data_page()
1434 if (page->index < end_index) in f2fs_write_data_page()
1442 if ((page->index >= end_index + 1) || !offset) in f2fs_write_data_page()
1445 zero_user_segment(page, offset, PAGE_CACHE_SIZE); in f2fs_write_data_page()
1459 err = do_write_data_page(page, &fio); in f2fs_write_data_page()
1465 SetPageError(page); in f2fs_write_data_page()
1477 err = f2fs_write_inline_data(inode, page); in f2fs_write_data_page()
1479 err = do_write_data_page(page, &fio); in f2fs_write_data_page()
1485 clear_cold_data(page); in f2fs_write_data_page()
1489 ClearPageUptodate(page); in f2fs_write_data_page()
1490 unlock_page(page); in f2fs_write_data_page()
1498 redirty_page_for_writepage(wbc, page); in f2fs_write_data_page()
1502 static int __f2fs_writepage(struct page *page, struct writeback_control *wbc, in __f2fs_writepage() argument
1506 int ret = mapping->a_ops->writepage(page, wbc); in __f2fs_writepage()
1569 struct page **pagep, void **fsdata) in f2fs_write_begin()
1573 struct page *page, *ipage; in f2fs_write_begin() local
1593 page = grab_cache_page_write_begin(mapping, index, flags); in f2fs_write_begin()
1594 if (!page) { in f2fs_write_begin()
1599 *pagep = page; in f2fs_write_begin()
1614 read_inline_data(page, ipage); in f2fs_write_begin()
1619 err = f2fs_convert_inline_page(&dn, page); in f2fs_write_begin()
1630 if ((len == PAGE_CACHE_SIZE) || PageUptodate(page)) in f2fs_write_begin()
1633 f2fs_wait_on_page_writeback(page, DATA); in f2fs_write_begin()
1640 zero_user_segments(page, 0, start, end, PAGE_CACHE_SIZE); in f2fs_write_begin()
1645 zero_user_segment(page, 0, PAGE_CACHE_SIZE); in f2fs_write_begin()
1652 err = f2fs_submit_page_bio(sbi, page, &fio); in f2fs_write_begin()
1656 lock_page(page); in f2fs_write_begin()
1657 if (unlikely(!PageUptodate(page))) { in f2fs_write_begin()
1658 f2fs_put_page(page, 1); in f2fs_write_begin()
1662 if (unlikely(page->mapping != mapping)) { in f2fs_write_begin()
1663 f2fs_put_page(page, 1); in f2fs_write_begin()
1668 SetPageUptodate(page); in f2fs_write_begin()
1669 clear_cold_data(page); in f2fs_write_begin()
1676 f2fs_put_page(page, 1); in f2fs_write_begin()
1685 struct page *page, void *fsdata) in f2fs_write_end() argument
1687 struct inode *inode = page->mapping->host; in f2fs_write_end()
1691 set_page_dirty(page); in f2fs_write_end()
1699 f2fs_put_page(page, 1); in f2fs_write_end()
1753 void f2fs_invalidate_page(struct page *page, unsigned int offset, in f2fs_invalidate_page() argument
1756 struct inode *inode = page->mapping->host; in f2fs_invalidate_page()
1763 if (PageDirty(page)) { in f2fs_invalidate_page()
1771 ClearPagePrivate(page); in f2fs_invalidate_page()
1774 int f2fs_release_page(struct page *page, gfp_t wait) in f2fs_release_page() argument
1777 if (PageDirty(page)) in f2fs_release_page()
1780 ClearPagePrivate(page); in f2fs_release_page()
1784 static int f2fs_set_data_page_dirty(struct page *page) in f2fs_set_data_page_dirty() argument
1786 struct address_space *mapping = page->mapping; in f2fs_set_data_page_dirty()
1789 trace_f2fs_set_page_dirty(page, DATA); in f2fs_set_data_page_dirty()
1791 SetPageUptodate(page); in f2fs_set_data_page_dirty()
1794 register_inmem_page(inode, page); in f2fs_set_data_page_dirty()
1800 if (!PageDirty(page)) { in f2fs_set_data_page_dirty()
1801 __set_page_dirty_nobuffers(page); in f2fs_set_data_page_dirty()
1802 update_dirty_page(inode, page); in f2fs_set_data_page_dirty()