Lines Matching refs:page

51 		struct page *page = bv->bv_page;  in mpage_end_io()  local
52 page_endio(page, bio_data_dir(bio), err); in mpage_end_io()
98 map_buffer_to_page(struct page *page, struct buffer_head *bh, int page_block) in map_buffer_to_page() argument
100 struct inode *inode = page->mapping->host; in map_buffer_to_page()
104 if (!page_has_buffers(page)) { in map_buffer_to_page()
111 SetPageUptodate(page); in map_buffer_to_page()
114 create_empty_buffers(page, 1 << inode->i_blkbits, 0); in map_buffer_to_page()
116 head = page_buffers(page); in map_buffer_to_page()
140 do_mpage_readpage(struct bio *bio, struct page *page, unsigned nr_pages, in do_mpage_readpage() argument
144 struct inode *inode = page->mapping->host; in do_mpage_readpage()
160 if (page_has_buffers(page)) in do_mpage_readpage()
163 block_in_file = (sector_t)page->index << (PAGE_CACHE_SHIFT - blkbits); in do_mpage_readpage()
197 map_bh->b_page = page; in do_mpage_readpage()
225 map_buffer_to_page(page, map_bh, page_block); in do_mpage_readpage()
250 zero_user_segment(page, first_hole << blkbits, PAGE_CACHE_SIZE); in do_mpage_readpage()
252 SetPageUptodate(page); in do_mpage_readpage()
253 unlock_page(page); in do_mpage_readpage()
257 SetPageMappedToDisk(page); in do_mpage_readpage()
260 if (fully_mapped && blocks_per_page == 1 && !PageUptodate(page) && in do_mpage_readpage()
261 cleancache_get_page(page) == 0) { in do_mpage_readpage()
262 SetPageUptodate(page); in do_mpage_readpage()
276 page)) in do_mpage_readpage()
287 if (bio_add_page(bio, page, length, 0) < length) { in do_mpage_readpage()
305 if (!PageUptodate(page)) in do_mpage_readpage()
306 block_read_full_page(page, get_block); in do_mpage_readpage()
308 unlock_page(page); in do_mpage_readpage()
368 struct page *page = list_entry(pages->prev, struct page, lru); in mpage_readpages() local
370 prefetchw(&page->flags); in mpage_readpages()
371 list_del(&page->lru); in mpage_readpages()
372 if (!add_to_page_cache_lru(page, mapping, in mpage_readpages()
373 page->index, GFP_KERNEL)) { in mpage_readpages()
374 bio = do_mpage_readpage(bio, page, in mpage_readpages()
380 page_cache_release(page); in mpage_readpages()
392 int mpage_readpage(struct page *page, get_block_t get_block) in mpage_readpage() argument
401 bio = do_mpage_readpage(bio, page, 1, &last_block_in_bio, in mpage_readpage()
437 static void clean_buffers(struct page *page, unsigned first_unmapped) in clean_buffers() argument
441 if (!page_has_buffers(page)) in clean_buffers()
443 head = page_buffers(page); in clean_buffers()
458 if (buffer_heads_over_limit && PageUptodate(page)) in clean_buffers()
459 try_to_free_buffers(page); in clean_buffers()
462 static int __mpage_writepage(struct page *page, struct writeback_control *wbc, in __mpage_writepage() argument
467 struct address_space *mapping = page->mapping; in __mpage_writepage()
468 struct inode *inode = page->mapping->host; in __mpage_writepage()
486 if (page_has_buffers(page)) { in __mpage_writepage()
487 struct buffer_head *head = page_buffers(page); in __mpage_writepage()
539 BUG_ON(!PageUptodate(page)); in __mpage_writepage()
540 block_in_file = (sector_t)page->index << (PAGE_CACHE_SHIFT - blkbits); in __mpage_writepage()
542 map_bh.b_page = page; in __mpage_writepage()
573 if (page->index >= end_index) { in __mpage_writepage()
584 if (page->index > end_index || !offset) in __mpage_writepage()
586 zero_user_segment(page, offset, PAGE_CACHE_SIZE); in __mpage_writepage()
599 page, wbc)) { in __mpage_writepage()
600 clean_buffers(page, first_unmapped); in __mpage_writepage()
616 if (bio_add_page(bio, page, length, 0) < length) { in __mpage_writepage()
621 clean_buffers(page, first_unmapped); in __mpage_writepage()
623 BUG_ON(PageWriteback(page)); in __mpage_writepage()
624 set_page_writeback(page); in __mpage_writepage()
625 unlock_page(page); in __mpage_writepage()
642 ret = mapping->a_ops->writepage(page, wbc); in __mpage_writepage()
703 int mpage_writepage(struct page *page, get_block_t get_block, in mpage_writepage() argument
712 int ret = __mpage_writepage(page, wbc, &mpd); in mpage_writepage()