Lines Matching refs:page
52 static struct page *get_mapping_page(struct super_block *sb, pgoff_t index, in get_mapping_page()
58 struct page *page; in get_mapping_page() local
62 page = read_cache_page(mapping, index, filler, sb); in get_mapping_page()
64 page = find_or_create_page(mapping, index, GFP_NOFS); in get_mapping_page()
65 if (page) in get_mapping_page()
66 unlock_page(page); in get_mapping_page()
68 return page; in get_mapping_page()
75 struct page *page; in __logfs_buf_write() local
84 page = get_mapping_page(area->a_sb, index, use_filler); in __logfs_buf_write()
85 if (IS_ERR(page)) in __logfs_buf_write()
86 return PTR_ERR(page); in __logfs_buf_write()
87 BUG_ON(!page); /* FIXME: reserve a pool */ in __logfs_buf_write()
88 SetPageUptodate(page); in __logfs_buf_write()
89 memcpy(page_address(page) + offset, buf, copylen); in __logfs_buf_write()
91 if (!PagePrivate(page)) { in __logfs_buf_write()
92 SetPagePrivate(page); in __logfs_buf_write()
93 page_cache_get(page); in __logfs_buf_write()
95 page_cache_release(page); in __logfs_buf_write()
108 struct page *page; in pad_partial_page() local
115 page = get_mapping_page(sb, index, 0); in pad_partial_page()
116 BUG_ON(!page); /* FIXME: reserve a pool */ in pad_partial_page()
117 memset(page_address(page) + offset, 0xff, len); in pad_partial_page()
118 if (!PagePrivate(page)) { in pad_partial_page()
119 SetPagePrivate(page); in pad_partial_page()
120 page_cache_get(page); in pad_partial_page()
122 page_cache_release(page); in pad_partial_page()
134 struct page *page; in pad_full_pages() local
137 page = get_mapping_page(sb, index, 0); in pad_full_pages()
138 BUG_ON(!page); /* FIXME: reserve a pool */ in pad_full_pages()
139 SetPageUptodate(page); in pad_full_pages()
140 memset(page_address(page), 0xff, PAGE_CACHE_SIZE); in pad_full_pages()
141 if (!PagePrivate(page)) { in pad_full_pages()
142 SetPagePrivate(page); in pad_full_pages()
143 page_cache_get(page); in pad_full_pages()
145 page_cache_release(page); in pad_full_pages()
363 int logfs_segment_write(struct inode *inode, struct page *page, in logfs_segment_write() argument
382 buf = kmap(page); in logfs_segment_write()
389 kunmap(page); in logfs_segment_write()
403 struct page *page; in wbuf_read() local
410 page = get_mapping_page(sb, index, 1); in wbuf_read()
411 if (IS_ERR(page)) in wbuf_read()
412 return PTR_ERR(page); in wbuf_read()
413 memcpy(buf, page_address(page) + offset, copylen); in wbuf_read()
414 page_cache_release(page); in wbuf_read()
475 static void move_btree_to_page(struct inode *inode, struct page *page, in move_btree_to_page() argument
487 block = btree_remove128(head, inode->i_ino, page->index); in move_btree_to_page()
498 block->page = page; in move_btree_to_page()
500 if (!PagePrivate(page)) { in move_btree_to_page()
501 SetPagePrivate(page); in move_btree_to_page()
502 page_cache_get(page); in move_btree_to_page()
503 set_page_private(page, (unsigned long) block); in move_btree_to_page()
506 initialize_block_counters(page, block, data, 0); in move_btree_to_page()
520 void move_page_to_btree(struct page *page) in move_page_to_btree() argument
522 struct logfs_block *block = logfs_block(page); in move_page_to_btree()
547 child = kmap_atomic(page); in move_page_to_btree()
553 block->page = NULL; in move_page_to_btree()
555 if (PagePrivate(page)) { in move_page_to_btree()
556 ClearPagePrivate(page); in move_page_to_btree()
557 page_cache_release(page); in move_page_to_btree()
558 set_page_private(page, 0); in move_page_to_btree()
564 ClearPageUptodate(page); in move_page_to_btree()
656 int logfs_segment_read(struct inode *inode, struct page *page, in logfs_segment_read() argument
662 if (PageUptodate(page)) in logfs_segment_read()
667 buf = kmap(page); in logfs_segment_read()
670 move_btree_to_page(inode, page, buf); in logfs_segment_read()
671 SetPageUptodate(page); in logfs_segment_read()
673 kunmap(page); in logfs_segment_read()
715 struct page *page; in freeseg() local
721 page = find_get_page(mapping, ofs >> PAGE_SHIFT); in freeseg()
722 if (!page) in freeseg()
724 if (PagePrivate(page)) { in freeseg()
725 ClearPagePrivate(page); in freeseg()
726 page_cache_release(page); in freeseg()
728 page_cache_release(page); in freeseg()
888 static void map_invalidatepage(struct page *page, unsigned int o, in map_invalidatepage() argument
894 static int map_releasepage(struct page *page, gfp_t g) in map_releasepage() argument