Lines Matching refs:page
20 struct page *page);
25 int afs_set_page_dirty(struct page *page) in afs_set_page_dirty() argument
28 return __set_page_dirty_nobuffers(page); in afs_set_page_dirty()
87 loff_t pos, struct page *page) in afs_fill_page() argument
101 ret = afs_vnode_fetch_data(vnode, key, pos, len, page); in afs_fill_page()
120 struct page **pagep, void **fsdata) in afs_write_begin()
124 struct page *page; in afs_write_begin() local
146 page = grab_cache_page_write_begin(mapping, index, flags); in afs_write_begin()
147 if (!page) { in afs_write_begin()
151 *pagep = page; in afs_write_begin()
154 if (!PageUptodate(page) && len != PAGE_CACHE_SIZE) { in afs_write_begin()
155 ret = afs_fill_page(vnode, key, index << PAGE_CACHE_SHIFT, page); in afs_write_begin()
161 SetPageUptodate(page); in afs_write_begin()
169 wb = (struct afs_writeback *) page_private(page); in afs_write_begin()
189 SetPagePrivate(page); in afs_write_begin()
190 set_page_private(page, (unsigned long) candidate); in afs_write_begin()
212 SetPagePrivate(page); in afs_write_begin()
213 set_page_private(page, (unsigned long) wb); in afs_write_begin()
225 if (PageDirty(page)) { in afs_write_begin()
226 ret = afs_write_back_from_locked_page(wb, page); in afs_write_begin()
236 set_page_private(page, 0); in afs_write_begin()
237 ClearPagePrivate(page); in afs_write_begin()
246 struct page *page, void *fsdata) in afs_write_end() argument
252 vnode->fid.vid, vnode->fid.vnode, page->index); in afs_write_end()
265 set_page_dirty(page); in afs_write_end()
266 if (PageDirty(page)) in afs_write_end()
268 unlock_page(page); in afs_write_end()
269 page_cache_release(page); in afs_write_end()
316 struct page *primary_page) in afs_write_back_from_locked_page()
318 struct page *pages[8], *page; in afs_write_back_from_locked_page() local
357 page = pages[loop]; in afs_write_back_from_locked_page()
358 if (page->index > wb->last) in afs_write_back_from_locked_page()
360 if (!trylock_page(page)) in afs_write_back_from_locked_page()
362 if (!PageDirty(page) || in afs_write_back_from_locked_page()
363 page_private(page) != (unsigned long) wb) { in afs_write_back_from_locked_page()
364 unlock_page(page); in afs_write_back_from_locked_page()
367 if (!clear_page_dirty_for_io(page)) in afs_write_back_from_locked_page()
369 if (test_set_page_writeback(page)) in afs_write_back_from_locked_page()
371 unlock_page(page); in afs_write_back_from_locked_page()
372 put_page(page); in afs_write_back_from_locked_page()
437 int afs_writepage(struct page *page, struct writeback_control *wbc) in afs_writepage() argument
442 _enter("{%lx},", page->index); in afs_writepage()
444 wb = (struct afs_writeback *) page_private(page); in afs_writepage()
447 ret = afs_write_back_from_locked_page(wb, page); in afs_writepage()
448 unlock_page(page); in afs_writepage()
468 struct page *page; in afs_writepages_region() local
475 1, &page); in afs_writepages_region()
479 _debug("wback %lx", page->index); in afs_writepages_region()
481 if (page->index > end) { in afs_writepages_region()
483 page_cache_release(page); in afs_writepages_region()
493 lock_page(page); in afs_writepages_region()
495 if (page->mapping != mapping) { in afs_writepages_region()
496 unlock_page(page); in afs_writepages_region()
497 page_cache_release(page); in afs_writepages_region()
502 wait_on_page_writeback(page); in afs_writepages_region()
504 if (PageWriteback(page) || !PageDirty(page)) { in afs_writepages_region()
505 unlock_page(page); in afs_writepages_region()
509 wb = (struct afs_writeback *) page_private(page); in afs_writepages_region()
516 ret = afs_write_back_from_locked_page(wb, page); in afs_writepages_region()
517 unlock_page(page); in afs_writepages_region()
518 page_cache_release(page); in afs_writepages_region()
598 struct page *page = pv.pages[loop]; in afs_pages_written_back() local
599 end_page_writeback(page); in afs_pages_written_back()
600 if (page_private(page) == (unsigned long) wb) { in afs_pages_written_back()
601 set_page_private(page, 0); in afs_pages_written_back()
602 ClearPagePrivate(page); in afs_pages_written_back()
746 int afs_page_mkwrite(struct vm_area_struct *vma, struct page *page) in afs_page_mkwrite() argument
751 vnode->fid.vid, vnode->fid.vnode, page->index); in afs_page_mkwrite()
756 fscache_wait_on_page_write(vnode->cache, page); in afs_page_mkwrite()