Lines Matching refs:page
38 static int v9fs_fid_readpage(void *data, struct page *page) in v9fs_fid_readpage() argument
41 struct inode *inode = page->mapping->host; in v9fs_fid_readpage()
42 struct bio_vec bvec = {.bv_page = page, .bv_len = PAGE_SIZE}; in v9fs_fid_readpage()
48 BUG_ON(!PageLocked(page)); in v9fs_fid_readpage()
50 retval = v9fs_readpage_from_fscache(inode, page); in v9fs_fid_readpage()
56 retval = p9_client_read(fid, page_offset(page), &to, &err); in v9fs_fid_readpage()
58 v9fs_uncache_page(inode, page); in v9fs_fid_readpage()
63 zero_user(page, retval, PAGE_SIZE - retval); in v9fs_fid_readpage()
64 flush_dcache_page(page); in v9fs_fid_readpage()
65 SetPageUptodate(page); in v9fs_fid_readpage()
67 v9fs_readpage_to_fscache(inode, page); in v9fs_fid_readpage()
71 unlock_page(page); in v9fs_fid_readpage()
83 static int v9fs_vfs_readpage(struct file *filp, struct page *page) in v9fs_vfs_readpage() argument
85 return v9fs_fid_readpage(filp->private_data, page); in v9fs_vfs_readpage()
123 static int v9fs_release_page(struct page *page, gfp_t gfp) in v9fs_release_page() argument
125 if (PagePrivate(page)) in v9fs_release_page()
127 return v9fs_fscache_release_page(page, gfp); in v9fs_release_page()
137 static void v9fs_invalidate_page(struct page *page, unsigned int offset, in v9fs_invalidate_page() argument
145 v9fs_fscache_invalidate_page(page); in v9fs_invalidate_page()
148 static int v9fs_vfs_writepage_locked(struct page *page) in v9fs_vfs_writepage_locked() argument
150 struct inode *inode = page->mapping->host; in v9fs_vfs_writepage_locked()
157 if (page->index == size >> PAGE_SHIFT) in v9fs_vfs_writepage_locked()
162 bvec.bv_page = page; in v9fs_vfs_writepage_locked()
170 set_page_writeback(page); in v9fs_vfs_writepage_locked()
172 p9_client_write(v9inode->writeback_fid, page_offset(page), &from, &err); in v9fs_vfs_writepage_locked()
174 end_page_writeback(page); in v9fs_vfs_writepage_locked()
178 static int v9fs_vfs_writepage(struct page *page, struct writeback_control *wbc) in v9fs_vfs_writepage() argument
182 p9_debug(P9_DEBUG_VFS, "page %p\n", page); in v9fs_vfs_writepage()
184 retval = v9fs_vfs_writepage_locked(page); in v9fs_vfs_writepage()
187 redirty_page_for_writepage(wbc, page); in v9fs_vfs_writepage()
190 SetPageError(page); in v9fs_vfs_writepage()
191 mapping_set_error(page->mapping, retval); in v9fs_vfs_writepage()
196 unlock_page(page); in v9fs_vfs_writepage()
205 static int v9fs_launder_page(struct page *page) in v9fs_launder_page() argument
208 struct inode *inode = page->mapping->host; in v9fs_launder_page()
210 v9fs_fscache_wait_on_page_write(inode, page); in v9fs_launder_page()
211 if (clear_page_dirty_for_io(page)) { in v9fs_launder_page()
212 retval = v9fs_vfs_writepage_locked(page); in v9fs_launder_page()
257 struct page **pagep, void **fsdata) in v9fs_write_begin()
260 struct page *page; in v9fs_write_begin() local
270 page = grab_cache_page_write_begin(mapping, index, flags); in v9fs_write_begin()
271 if (!page) { in v9fs_write_begin()
276 if (PageUptodate(page)) in v9fs_write_begin()
282 retval = v9fs_fid_readpage(v9inode->writeback_fid, page); in v9fs_write_begin()
283 put_page(page); in v9fs_write_begin()
287 *pagep = page; in v9fs_write_begin()
293 struct page *page, void *fsdata) in v9fs_write_end() argument
296 struct inode *inode = page->mapping->host; in v9fs_write_end()
300 if (!PageUptodate(page)) { in v9fs_write_end()
305 SetPageUptodate(page); in v9fs_write_end()
316 set_page_dirty(page); in v9fs_write_end()
318 unlock_page(page); in v9fs_write_end()
319 put_page(page); in v9fs_write_end()