Lines Matching refs:page

52 static int v9fs_fid_readpage(struct p9_fid *fid, struct page *page)  in v9fs_fid_readpage()  argument
54 struct inode *inode = page->mapping->host; in v9fs_fid_readpage()
55 struct bio_vec bvec = {.bv_page = page, .bv_len = PAGE_SIZE}; in v9fs_fid_readpage()
61 BUG_ON(!PageLocked(page)); in v9fs_fid_readpage()
63 retval = v9fs_readpage_from_fscache(inode, page); in v9fs_fid_readpage()
69 retval = p9_client_read(fid, page_offset(page), &to, &err); in v9fs_fid_readpage()
71 v9fs_uncache_page(inode, page); in v9fs_fid_readpage()
76 zero_user(page, retval, PAGE_SIZE - retval); in v9fs_fid_readpage()
77 flush_dcache_page(page); in v9fs_fid_readpage()
78 SetPageUptodate(page); in v9fs_fid_readpage()
80 v9fs_readpage_to_fscache(inode, page); in v9fs_fid_readpage()
84 unlock_page(page); in v9fs_fid_readpage()
96 static int v9fs_vfs_readpage(struct file *filp, struct page *page) in v9fs_vfs_readpage() argument
98 return v9fs_fid_readpage(filp->private_data, page); in v9fs_vfs_readpage()
135 static int v9fs_release_page(struct page *page, gfp_t gfp) in v9fs_release_page() argument
137 if (PagePrivate(page)) in v9fs_release_page()
139 return v9fs_fscache_release_page(page, gfp); in v9fs_release_page()
149 static void v9fs_invalidate_page(struct page *page, unsigned int offset, in v9fs_invalidate_page() argument
157 v9fs_fscache_invalidate_page(page); in v9fs_invalidate_page()
160 static int v9fs_vfs_writepage_locked(struct page *page) in v9fs_vfs_writepage_locked() argument
162 struct inode *inode = page->mapping->host; in v9fs_vfs_writepage_locked()
169 if (page->index == size >> PAGE_CACHE_SHIFT) in v9fs_vfs_writepage_locked()
174 bvec.bv_page = page; in v9fs_vfs_writepage_locked()
182 set_page_writeback(page); in v9fs_vfs_writepage_locked()
184 p9_client_write(v9inode->writeback_fid, page_offset(page), &from, &err); in v9fs_vfs_writepage_locked()
186 end_page_writeback(page); in v9fs_vfs_writepage_locked()
190 static int v9fs_vfs_writepage(struct page *page, struct writeback_control *wbc) in v9fs_vfs_writepage() argument
194 p9_debug(P9_DEBUG_VFS, "page %p\n", page); in v9fs_vfs_writepage()
196 retval = v9fs_vfs_writepage_locked(page); in v9fs_vfs_writepage()
199 redirty_page_for_writepage(wbc, page); in v9fs_vfs_writepage()
202 SetPageError(page); in v9fs_vfs_writepage()
203 mapping_set_error(page->mapping, retval); in v9fs_vfs_writepage()
208 unlock_page(page); in v9fs_vfs_writepage()
217 static int v9fs_launder_page(struct page *page) in v9fs_launder_page() argument
220 struct inode *inode = page->mapping->host; in v9fs_launder_page()
222 v9fs_fscache_wait_on_page_write(inode, page); in v9fs_launder_page()
223 if (clear_page_dirty_for_io(page)) { in v9fs_launder_page()
224 retval = v9fs_vfs_writepage_locked(page); in v9fs_launder_page()
269 struct page **pagep, void **fsdata) in v9fs_write_begin()
272 struct page *page; in v9fs_write_begin() local
282 page = grab_cache_page_write_begin(mapping, index, flags); in v9fs_write_begin()
283 if (!page) { in v9fs_write_begin()
288 if (PageUptodate(page)) in v9fs_write_begin()
294 retval = v9fs_fid_readpage(v9inode->writeback_fid, page); in v9fs_write_begin()
295 page_cache_release(page); in v9fs_write_begin()
299 *pagep = page; in v9fs_write_begin()
305 struct page *page, void *fsdata) in v9fs_write_end() argument
308 struct inode *inode = page->mapping->host; in v9fs_write_end()
318 zero_user(page, from + copied, len - copied); in v9fs_write_end()
319 flush_dcache_page(page); in v9fs_write_end()
322 if (!PageUptodate(page)) in v9fs_write_end()
323 SetPageUptodate(page); in v9fs_write_end()
332 set_page_dirty(page); in v9fs_write_end()
333 unlock_page(page); in v9fs_write_end()
334 page_cache_release(page); in v9fs_write_end()