Lines Matching refs:page
21 static int afs_readpage(struct file *file, struct page *page);
22 static void afs_invalidatepage(struct page *page, unsigned long offset);
23 static int afs_releasepage(struct page *page, gfp_t gfp_flags);
24 static int afs_launder_page(struct page *page);
106 struct page *page, in afs_readpage_read_complete() argument
110 _enter("%p,%p,%p,%d", cookie_data, page, data, error); in afs_readpage_read_complete()
113 SetPageError(page); in afs_readpage_read_complete()
115 SetPageUptodate(page); in afs_readpage_read_complete()
116 unlock_page(page); in afs_readpage_read_complete()
126 struct page *page, in afs_readpage_write_complete() argument
130 _enter("%p,%p,%p,%d", cookie_data, page, data, error); in afs_readpage_write_complete()
132 unlock_page(page); in afs_readpage_write_complete()
139 static int afs_readpage(struct file *file, struct page *page) in afs_readpage() argument
148 inode = page->mapping->host; in afs_readpage()
154 _enter("{%x},{%lu},{%lu}", key_serial(key), inode->i_ino, page->index); in afs_readpage()
158 BUG_ON(!PageLocked(page)); in afs_readpage()
167 page, in afs_readpage()
188 offset = page->index << PAGE_CACHE_SHIFT; in afs_readpage()
193 ret = afs_vnode_fetch_data(vnode, key, offset, len, page); in afs_readpage()
202 cachefs_uncache_page(vnode->cache, page); in afs_readpage()
207 SetPageUptodate(page); in afs_readpage()
211 page, in afs_readpage()
216 cachefs_uncache_page(vnode->cache, page); in afs_readpage()
217 unlock_page(page); in afs_readpage()
220 unlock_page(page); in afs_readpage()
228 SetPageError(page); in afs_readpage()
229 unlock_page(page); in afs_readpage()
237 static void afs_invalidatepage(struct page *page, unsigned long offset) in afs_invalidatepage() argument
241 _enter("{%lu},%lu", page->index, offset); in afs_invalidatepage()
243 BUG_ON(!PageLocked(page)); in afs_invalidatepage()
245 if (PagePrivate(page)) { in afs_invalidatepage()
252 BUG_ON(!PageLocked(page)); in afs_invalidatepage()
255 if (!PageWriteback(page)) in afs_invalidatepage()
256 ret = page->mapping->a_ops->releasepage(page, in afs_invalidatepage()
268 static int afs_launder_page(struct page *page) in afs_launder_page() argument
270 _enter("{%lu}", page->index); in afs_launder_page()
278 static int afs_releasepage(struct page *page, gfp_t gfp_flags) in afs_releasepage() argument
280 struct afs_vnode *vnode = AFS_FS_I(page->mapping->host); in afs_releasepage()
284 vnode->fid.vid, vnode->fid.vnode, page->index, page->flags, in afs_releasepage()
287 if (PagePrivate(page)) { in afs_releasepage()
288 wb = (struct afs_writeback *) page_private(page); in afs_releasepage()
290 set_page_private(page, 0); in afs_releasepage()
291 ClearPagePrivate(page); in afs_releasepage()