Lines Matching refs:page

1390 	struct page *page;  in extent_range_clear_dirty_for_io()  local
1393 page = find_get_page(inode->i_mapping, index); in extent_range_clear_dirty_for_io()
1394 BUG_ON(!page); /* Pages should be in the extent_io_tree */ in extent_range_clear_dirty_for_io()
1395 clear_page_dirty_for_io(page); in extent_range_clear_dirty_for_io()
1396 page_cache_release(page); in extent_range_clear_dirty_for_io()
1406 struct page *page; in extent_range_redirty_for_io() local
1409 page = find_get_page(inode->i_mapping, index); in extent_range_redirty_for_io()
1410 BUG_ON(!page); /* Pages should be in the extent_io_tree */ in extent_range_redirty_for_io()
1411 __set_page_dirty_nobuffers(page); in extent_range_redirty_for_io()
1412 account_page_redirty(page); in extent_range_redirty_for_io()
1413 page_cache_release(page); in extent_range_redirty_for_io()
1426 struct page *page; in set_range_writeback() local
1429 page = find_get_page(tree->mapping, index); in set_range_writeback()
1430 BUG_ON(!page); /* Pages should be in the extent_io_tree */ in set_range_writeback()
1431 set_page_writeback(page); in set_range_writeback()
1432 page_cache_release(page); in set_range_writeback()
1579 struct page *locked_page, in __unlock_for_delalloc()
1583 struct page *pages[16]; in __unlock_for_delalloc()
1608 struct page *locked_page, in lock_delalloc_pages()
1616 struct page *pages[16]; in lock_delalloc_pages()
1677 struct page *locked_page, u64 *start, in find_lock_delalloc_range()
1756 struct page *locked_page, in extent_clear_unlock_delalloc()
1762 struct page *pages[16]; in extent_clear_unlock_delalloc()
1985 static void check_page_uptodate(struct extent_io_tree *tree, struct page *page) in check_page_uptodate() argument
1987 u64 start = page_offset(page); in check_page_uptodate()
1990 SetPageUptodate(page); in check_page_uptodate()
2027 struct page *page, unsigned int pg_offset, int mirror_num) in repair_io_failure() argument
2067 bio_add_page(bio, page, length, pg_offset); in repair_io_failure()
2095 struct page *p = eb->pages[i]; in repair_eb_io_failure()
2112 int clean_io_failure(struct inode *inode, u64 start, struct page *page, in clean_io_failure() argument
2158 failrec->logical, page, in clean_io_failure()
2355 struct page *page, int pg_offset, int icsum, in btrfs_create_repair_bio() argument
2384 bio_add_page(bio, page, failrec->len, pg_offset); in btrfs_create_repair_bio()
2398 struct page *page, u64 start, u64 end, in bio_readpage_error() argument
2402 struct inode *inode = page->mapping->host; in bio_readpage_error()
2426 bio = btrfs_create_repair_bio(inode, failed_bio, failrec, page, in bio_readpage_error()
2427 start - page_offset(page), in bio_readpage_error()
2451 int end_extent_writepage(struct page *page, int err, u64 start, u64 end) in end_extent_writepage() argument
2457 tree = &BTRFS_I(page->mapping->host)->io_tree; in end_extent_writepage()
2460 ret = tree->ops->writepage_end_io_hook(page, start, in end_extent_writepage()
2467 ClearPageUptodate(page); in end_extent_writepage()
2468 SetPageError(page); in end_extent_writepage()
2470 mapping_set_error(page->mapping, ret); in end_extent_writepage()
2492 struct page *page = bvec->bv_page; in end_bio_extent_writepage() local
2501 btrfs_err(BTRFS_I(page->mapping->host)->root->fs_info, in end_bio_extent_writepage()
2505 btrfs_info(BTRFS_I(page->mapping->host)->root->fs_info, in end_bio_extent_writepage()
2511 start = page_offset(page); in end_bio_extent_writepage()
2514 if (end_extent_writepage(page, err, start, end)) in end_bio_extent_writepage()
2517 end_page_writeback(page); in end_bio_extent_writepage()
2566 struct page *page = bvec->bv_page; in end_bio_extent_readpage() local
2567 struct inode *inode = page->mapping->host; in end_bio_extent_readpage()
2581 btrfs_err(BTRFS_I(page->mapping->host)->root->fs_info, in end_bio_extent_readpage()
2585 btrfs_info(BTRFS_I(page->mapping->host)->root->fs_info, in end_bio_extent_readpage()
2591 start = page_offset(page); in end_bio_extent_readpage()
2599 page, start, end, in end_bio_extent_readpage()
2604 clean_io_failure(inode, start, page, 0); in end_bio_extent_readpage()
2611 ret = tree->ops->readpage_io_failed_hook(page, mirror); in end_bio_extent_readpage()
2626 ret = bio_readpage_error(bio, offset, page, start, end, in end_bio_extent_readpage()
2645 if (page->index == end_index && off) in end_bio_extent_readpage()
2646 zero_user_segment(page, off, PAGE_CACHE_SIZE); in end_bio_extent_readpage()
2647 SetPageUptodate(page); in end_bio_extent_readpage()
2649 ClearPageUptodate(page); in end_bio_extent_readpage()
2650 SetPageError(page); in end_bio_extent_readpage()
2652 unlock_page(page); in end_bio_extent_readpage()
2754 struct page *page = bvec->bv_page; in submit_one_bio() local
2758 start = page_offset(page) + bvec->bv_offset; in submit_one_bio()
2765 ret = tree->ops->submit_bio_hook(page->mapping->host, rw, bio, in submit_one_bio()
2776 static int merge_bio(int rw, struct extent_io_tree *tree, struct page *page, in merge_bio() argument
2782 ret = tree->ops->merge_bio_hook(rw, page, offset, size, bio, in merge_bio()
2790 struct page *page, sector_t sector, in submit_extent_page() argument
2818 merge_bio(rw, tree, page, offset, page_size, bio, bio_flags) || in submit_extent_page()
2819 bio_add_page(bio, page, page_size, offset) < page_size) { in submit_extent_page()
2840 bio_add_page(bio, page, page_size, offset); in submit_extent_page()
2853 struct page *page) in attach_extent_buffer_page() argument
2855 if (!PagePrivate(page)) { in attach_extent_buffer_page()
2856 SetPagePrivate(page); in attach_extent_buffer_page()
2857 page_cache_get(page); in attach_extent_buffer_page()
2858 set_page_private(page, (unsigned long)eb); in attach_extent_buffer_page()
2860 WARN_ON(page->private != (unsigned long)eb); in attach_extent_buffer_page()
2864 void set_page_extent_mapped(struct page *page) in set_page_extent_mapped() argument
2866 if (!PagePrivate(page)) { in set_page_extent_mapped()
2867 SetPagePrivate(page); in set_page_extent_mapped()
2868 page_cache_get(page); in set_page_extent_mapped()
2869 set_page_private(page, EXTENT_PAGE_PRIVATE); in set_page_extent_mapped()
2874 __get_extent_map(struct inode *inode, struct page *page, size_t pg_offset, in __get_extent_map() argument
2892 em = get_extent(inode, page, pg_offset, start, len, 0); in __get_extent_map()
2907 struct page *page, in __do_readpage() argument
2914 struct inode *inode = page->mapping->host; in __do_readpage()
2915 u64 start = page_offset(page); in __do_readpage()
2935 set_page_extent_mapped(page); in __do_readpage()
2938 if (!PageUptodate(page)) { in __do_readpage()
2939 if (cleancache_get_page(page) == 0) { in __do_readpage()
2946 if (page->index == last_byte >> PAGE_CACHE_SHIFT) { in __do_readpage()
2952 userpage = kmap_atomic(page); in __do_readpage()
2954 flush_dcache_page(page); in __do_readpage()
2967 userpage = kmap_atomic(page); in __do_readpage()
2969 flush_dcache_page(page); in __do_readpage()
2979 em = __get_extent_map(inode, page, pg_offset, cur, in __do_readpage()
2982 SetPageError(page); in __do_readpage()
3062 userpage = kmap_atomic(page); in __do_readpage()
3064 flush_dcache_page(page); in __do_readpage()
3078 check_page_uptodate(tree, page); in __do_readpage()
3089 SetPageError(page); in __do_readpage()
3097 pnr -= page->index; in __do_readpage()
3098 ret = submit_extent_page(rw, tree, page, in __do_readpage()
3109 SetPageError(page); in __do_readpage()
3118 if (!PageError(page)) in __do_readpage()
3119 SetPageUptodate(page); in __do_readpage()
3120 unlock_page(page); in __do_readpage()
3126 struct page *pages[], int nr_pages, in __do_contiguous_readpages()
3158 struct page *pages[], in __extent_readpages()
3200 struct page *page, in __extent_read_full_page() argument
3205 struct inode *inode = page->mapping->host; in __extent_read_full_page()
3207 u64 start = page_offset(page); in __extent_read_full_page()
3221 ret = __do_readpage(tree, page, get_extent, NULL, bio, mirror_num, in __extent_read_full_page()
3226 int extent_read_full_page(struct extent_io_tree *tree, struct page *page, in extent_read_full_page() argument
3233 ret = __extent_read_full_page(tree, page, get_extent, &bio, mirror_num, in extent_read_full_page()
3240 int extent_read_full_page_nolock(struct extent_io_tree *tree, struct page *page, in extent_read_full_page_nolock() argument
3247 ret = __do_readpage(tree, page, get_extent, NULL, &bio, mirror_num, in extent_read_full_page_nolock()
3254 static noinline void update_nr_written(struct page *page, in update_nr_written() argument
3261 page->mapping->writeback_index = page->index + nr_written; in update_nr_written()
3275 struct page *page, struct writeback_control *wbc, in writepage_delalloc() argument
3293 page, in writepage_delalloc()
3301 ret = tree->ops->fill_delalloc(inode, page, in writepage_delalloc()
3308 SetPageError(page); in writepage_delalloc()
3364 struct page *page, in __extent_writepage_io() argument
3372 u64 start = page_offset(page); in __extent_writepage_io()
3390 ret = tree->ops->writepage_start_hook(page, start, in __extent_writepage_io()
3397 redirty_page_for_writepage(wbc, page); in __extent_writepage_io()
3399 update_nr_written(page, wbc, nr_written); in __extent_writepage_io()
3400 unlock_page(page); in __extent_writepage_io()
3410 update_nr_written(page, wbc, nr_written + 1); in __extent_writepage_io()
3415 tree->ops->writepage_end_io_hook(page, start, in __extent_writepage_io()
3426 tree->ops->writepage_end_io_hook(page, cur, in __extent_writepage_io()
3430 em = epd->get_extent(inode, page, pg_offset, cur, in __extent_writepage_io()
3433 SetPageError(page); in __extent_writepage_io()
3463 tree->ops->writepage_end_io_hook(page, cur, in __extent_writepage_io()
3480 ret = tree->ops->writepage_io_hook(page, cur, in __extent_writepage_io()
3486 SetPageError(page); in __extent_writepage_io()
3491 if (!PageWriteback(page)) { in __extent_writepage_io()
3494 page->index, cur, end); in __extent_writepage_io()
3497 ret = submit_extent_page(write_flags, tree, page, in __extent_writepage_io()
3503 SetPageError(page); in __extent_writepage_io()
3525 static int __extent_writepage(struct page *page, struct writeback_control *wbc, in __extent_writepage() argument
3528 struct inode *inode = page->mapping->host; in __extent_writepage()
3530 u64 start = page_offset(page); in __extent_writepage()
3545 trace___extent_writepage(page, inode, wbc); in __extent_writepage()
3547 WARN_ON(!PageLocked(page)); in __extent_writepage()
3549 ClearPageError(page); in __extent_writepage()
3552 if (page->index > end_index || in __extent_writepage()
3553 (page->index == end_index && !pg_offset)) { in __extent_writepage()
3554 page->mapping->a_ops->invalidatepage(page, 0, PAGE_CACHE_SIZE); in __extent_writepage()
3555 unlock_page(page); in __extent_writepage()
3559 if (page->index == end_index) { in __extent_writepage()
3562 userpage = kmap_atomic(page); in __extent_writepage()
3566 flush_dcache_page(page); in __extent_writepage()
3571 set_page_extent_mapped(page); in __extent_writepage()
3573 ret = writepage_delalloc(inode, page, wbc, epd, start, &nr_written); in __extent_writepage()
3579 ret = __extent_writepage_io(inode, page, wbc, epd, in __extent_writepage()
3587 set_page_writeback(page); in __extent_writepage()
3588 end_page_writeback(page); in __extent_writepage()
3590 if (PageError(page)) { in __extent_writepage()
3592 end_extent_writepage(page, ret, start, page_end); in __extent_writepage()
3594 unlock_page(page); in __extent_writepage()
3664 struct page *p = eb->pages[i]; in lock_extent_buffer_for_io()
3685 static void set_btree_ioerr(struct page *page) in set_btree_ioerr() argument
3687 struct extent_buffer *eb = (struct extent_buffer *)page->private; in set_btree_ioerr()
3690 SetPageError(page); in set_btree_ioerr()
3754 struct page *page = bvec->bv_page; in end_bio_extent_buffer_writepage() local
3756 eb = (struct extent_buffer *)page->private; in end_bio_extent_buffer_writepage()
3761 ClearPageUptodate(page); in end_bio_extent_buffer_writepage()
3762 set_btree_ioerr(page); in end_bio_extent_buffer_writepage()
3765 end_page_writeback(page); in end_bio_extent_buffer_writepage()
3796 struct page *p = eb->pages[i]; in write_one_eb()
3820 struct page *p = eb->pages[i]; in write_one_eb()
3875 struct page *page = pvec.pages[i]; in btree_write_cache_pages() local
3877 if (!PagePrivate(page)) in btree_write_cache_pages()
3880 if (!wbc->range_cyclic && page->index > end) { in btree_write_cache_pages()
3886 if (!PagePrivate(page)) { in btree_write_cache_pages()
3891 eb = (struct extent_buffer *)page->private; in btree_write_cache_pages()
4019 struct page *page = pvec.pages[i]; in extent_write_cache_pages() local
4028 if (!trylock_page(page)) { in extent_write_cache_pages()
4030 lock_page(page); in extent_write_cache_pages()
4033 if (unlikely(page->mapping != mapping)) { in extent_write_cache_pages()
4034 unlock_page(page); in extent_write_cache_pages()
4038 if (!wbc->range_cyclic && page->index > end) { in extent_write_cache_pages()
4040 unlock_page(page); in extent_write_cache_pages()
4045 if (PageWriteback(page)) in extent_write_cache_pages()
4047 wait_on_page_writeback(page); in extent_write_cache_pages()
4050 if (PageWriteback(page) || in extent_write_cache_pages()
4051 !clear_page_dirty_for_io(page)) { in extent_write_cache_pages()
4052 unlock_page(page); in extent_write_cache_pages()
4056 ret = (*writepage)(page, wbc, data); in extent_write_cache_pages()
4059 unlock_page(page); in extent_write_cache_pages()
4109 int extent_write_full_page(struct extent_io_tree *tree, struct page *page, in extent_write_full_page() argument
4123 ret = __extent_writepage(page, wbc, &epd); in extent_write_full_page()
4135 struct page *page; in extent_write_locked_range() local
4155 page = find_get_page(mapping, start >> PAGE_CACHE_SHIFT); in extent_write_locked_range()
4156 if (clear_page_dirty_for_io(page)) in extent_write_locked_range()
4157 ret = __extent_writepage(page, &wbc_writepages, &epd); in extent_write_locked_range()
4160 tree->ops->writepage_end_io_hook(page, start, in extent_write_locked_range()
4163 unlock_page(page); in extent_write_locked_range()
4165 page_cache_release(page); in extent_write_locked_range()
4203 struct page *pagepool[16]; in extent_readpages()
4204 struct page *page; in extent_readpages() local
4210 page = list_entry(pages->prev, struct page, lru); in extent_readpages()
4212 prefetchw(&page->flags); in extent_readpages()
4213 list_del(&page->lru); in extent_readpages()
4214 if (add_to_page_cache_lru(page, mapping, in extent_readpages()
4215 page->index, GFP_NOFS)) { in extent_readpages()
4216 page_cache_release(page); in extent_readpages()
4220 pagepool[nr++] = page; in extent_readpages()
4246 struct page *page, unsigned long offset) in extent_invalidatepage() argument
4249 u64 start = page_offset(page); in extent_invalidatepage()
4251 size_t blocksize = page->mapping->host->i_sb->s_blocksize; in extent_invalidatepage()
4258 wait_on_page_writeback(page); in extent_invalidatepage()
4273 struct page *page, gfp_t mask) in try_release_extent_state() argument
4275 u64 start = page_offset(page); in try_release_extent_state()
4310 struct extent_io_tree *tree, struct page *page, in try_release_extent_mapping() argument
4314 u64 start = page_offset(page); in try_release_extent_mapping()
4318 page->mapping->host->i_size > 16 * 1024 * 1024) { in try_release_extent_mapping()
4349 return try_release_extent_state(map, tree, page, mask); in try_release_extent_mapping()
4603 struct page *page; in btrfs_release_extent_buffer_page() local
4614 page = eb->pages[index]; in btrfs_release_extent_buffer_page()
4615 if (!page) in btrfs_release_extent_buffer_page()
4618 spin_lock(&page->mapping->private_lock); in btrfs_release_extent_buffer_page()
4626 if (PagePrivate(page) && in btrfs_release_extent_buffer_page()
4627 page->private == (unsigned long)eb) { in btrfs_release_extent_buffer_page()
4629 BUG_ON(PageDirty(page)); in btrfs_release_extent_buffer_page()
4630 BUG_ON(PageWriteback(page)); in btrfs_release_extent_buffer_page()
4635 ClearPagePrivate(page); in btrfs_release_extent_buffer_page()
4636 set_page_private(page, 0); in btrfs_release_extent_buffer_page()
4638 page_cache_release(page); in btrfs_release_extent_buffer_page()
4642 spin_unlock(&page->mapping->private_lock); in btrfs_release_extent_buffer_page()
4645 page_cache_release(page); in btrfs_release_extent_buffer_page()
4701 struct page *p; in btrfs_clone_extent_buffer()
4802 struct page *accessed) in mark_extent_buffer_accessed()
4810 struct page *p = eb->pages[i]; in mark_extent_buffer_accessed()
4910 struct page *p; in alloc_extent_buffer()
5113 struct page *page; in clear_extent_buffer_dirty() local
5118 page = eb->pages[i]; in clear_extent_buffer_dirty()
5119 if (!PageDirty(page)) in clear_extent_buffer_dirty()
5122 lock_page(page); in clear_extent_buffer_dirty()
5123 WARN_ON(!PagePrivate(page)); in clear_extent_buffer_dirty()
5125 clear_page_dirty_for_io(page); in clear_extent_buffer_dirty()
5126 spin_lock_irq(&page->mapping->tree_lock); in clear_extent_buffer_dirty()
5127 if (!PageDirty(page)) { in clear_extent_buffer_dirty()
5128 radix_tree_tag_clear(&page->mapping->page_tree, in clear_extent_buffer_dirty()
5129 page_index(page), in clear_extent_buffer_dirty()
5132 spin_unlock_irq(&page->mapping->tree_lock); in clear_extent_buffer_dirty()
5133 ClearPageError(page); in clear_extent_buffer_dirty()
5134 unlock_page(page); in clear_extent_buffer_dirty()
5161 struct page *page; in clear_extent_buffer_uptodate() local
5167 page = eb->pages[i]; in clear_extent_buffer_uptodate()
5168 if (page) in clear_extent_buffer_uptodate()
5169 ClearPageUptodate(page); in clear_extent_buffer_uptodate()
5177 struct page *page; in set_extent_buffer_uptodate() local
5183 page = eb->pages[i]; in set_extent_buffer_uptodate()
5184 SetPageUptodate(page); in set_extent_buffer_uptodate()
5200 struct page *page; in read_extent_buffer_pages() local
5223 page = eb->pages[i]; in read_extent_buffer_pages()
5225 if (!trylock_page(page)) in read_extent_buffer_pages()
5228 lock_page(page); in read_extent_buffer_pages()
5231 if (!PageUptodate(page)) { in read_extent_buffer_pages()
5246 page = eb->pages[i]; in read_extent_buffer_pages()
5247 if (!PageUptodate(page)) { in read_extent_buffer_pages()
5248 ClearPageError(page); in read_extent_buffer_pages()
5249 err = __extent_read_full_page(tree, page, in read_extent_buffer_pages()
5256 unlock_page(page); in read_extent_buffer_pages()
5271 page = eb->pages[i]; in read_extent_buffer_pages()
5272 wait_on_page_locked(page); in read_extent_buffer_pages()
5273 if (!PageUptodate(page)) in read_extent_buffer_pages()
5282 page = eb->pages[i]; in read_extent_buffer_pages()
5284 unlock_page(page); in read_extent_buffer_pages()
5296 struct page *page; in read_extent_buffer() local
5308 page = eb->pages[i]; in read_extent_buffer()
5311 kaddr = page_address(page); in read_extent_buffer()
5327 struct page *page; in read_extent_buffer_to_user() local
5340 page = eb->pages[i]; in read_extent_buffer_to_user()
5343 kaddr = page_address(page); in read_extent_buffer_to_user()
5365 struct page *p; in map_private_extent_buffer()
5402 struct page *page; in memcmp_extent_buffer() local
5415 page = eb->pages[i]; in memcmp_extent_buffer()
5419 kaddr = page_address(page); in memcmp_extent_buffer()
5437 struct page *page; in write_extent_buffer() local
5449 page = eb->pages[i]; in write_extent_buffer()
5450 WARN_ON(!PageUptodate(page)); in write_extent_buffer()
5453 kaddr = page_address(page); in write_extent_buffer()
5468 struct page *page; in memset_extent_buffer() local
5479 page = eb->pages[i]; in memset_extent_buffer()
5480 WARN_ON(!PageUptodate(page)); in memset_extent_buffer()
5483 kaddr = page_address(page); in memset_extent_buffer()
5499 struct page *page; in copy_extent_buffer() local
5510 page = dst->pages[i]; in copy_extent_buffer()
5511 WARN_ON(!PageUptodate(page)); in copy_extent_buffer()
5515 kaddr = page_address(page); in copy_extent_buffer()
5531 static void copy_pages(struct page *dst_page, struct page *src_page, in copy_pages()
5644 int try_release_extent_buffer(struct page *page) in try_release_extent_buffer() argument
5652 spin_lock(&page->mapping->private_lock); in try_release_extent_buffer()
5653 if (!PagePrivate(page)) { in try_release_extent_buffer()
5654 spin_unlock(&page->mapping->private_lock); in try_release_extent_buffer()
5658 eb = (struct extent_buffer *)page->private; in try_release_extent_buffer()
5669 spin_unlock(&page->mapping->private_lock); in try_release_extent_buffer()
5672 spin_unlock(&page->mapping->private_lock); in try_release_extent_buffer()