Lines Matching refs:page
21 /* Read separately compressed datablock directly into page cache */
22 int squashfs_readpage_block(struct page *target_page, u64 block, int bsize,
34 struct page **page;
43 page = kmalloc_array(pages, sizeof(void *), GFP_KERNEL);
44 if (page == NULL)
49 page[i] = (n == target_page->index) ? target_page :
52 if (page[i] == NULL)
55 if (PageUptodate(page[i])) {
56 unlock_page(page[i]);
57 put_page(page[i]);
67 * Create a "page actor" which will kmap and kunmap the
68 * page cache pages appropriately within the decompressor
70 actor = squashfs_page_actor_init_special(msblk, page, pages, expected);
74 /* Decompress directly into the page cache buffers */
87 /* Last page (if present) may have trailing bytes not filled */
89 if (page[pages - 1]->index == end_index && bytes) {
90 pageaddr = kmap_local_page(page[pages - 1]);
97 flush_dcache_page(page[i]);
98 SetPageUptodate(page[i]);
99 unlock_page(page[i]);
100 if (page[i] != target_page)
101 put_page(page[i]);
104 kfree(page);
113 if (page[i] == NULL || page[i] == target_page)
115 flush_dcache_page(page[i]);
116 unlock_page(page[i]);
117 put_page(page[i]);
121 kfree(page);