Lines Matching refs:pages
37 * to one zisofs block. Store the data in the @pages array with @pcount
42 struct page **pages, unsigned poffset,
68 if (!pages[i])
70 memset(page_address(pages[i]), 0, PAGE_SIZE);
71 flush_dcache_page(pages[i]);
72 SetPageUptodate(pages[i]);
122 if (pages[curpage]) {
123 stream.next_out = page_address(pages[curpage])
175 if (pages[curpage]) {
176 flush_dcache_page(pages[curpage]);
177 SetPageUptodate(pages[curpage]);
198 * Uncompress data so that pages[full_page] is fully uptodate and possibly
199 * fills in other pages if we have data for them.
202 struct page **pages)
217 BUG_ON(!pages[full_page]);
222 * pages with the data we have anyway...
224 start_off = page_offset(pages[full_page]);
263 pcount, pages, poffset, &err);
265 pages += poffset >> PAGE_SHIFT;
285 if (poffset && *pages) {
286 memset(page_address(*pages) + poffset, 0,
288 flush_dcache_page(*pages);
289 SetPageUptodate(*pages);
296 * per reference. We inject the additional pages into the page
309 struct page **pages;
334 pages = kcalloc(max_t(unsigned int, zisofs_pages_per_cblock, 1),
335 sizeof(*pages), GFP_KERNEL);
336 if (!pages) {
340 pages[full_page] = page;
344 pages[i] = grab_cache_page_nowait(mapping, index);
345 if (pages[i]) {
346 ClearPageError(pages[i]);
347 kmap(pages[i]);
351 err = zisofs_fill_pages(inode, full_page, pcount, pages);
353 /* Release any residual pages, do not SetPageUptodate */
355 if (pages[i]) {
356 flush_dcache_page(pages[i]);
358 SetPageError(pages[i]);
359 kunmap(pages[i]);
360 unlock_page(pages[i]);
362 put_page(pages[i]);
367 kfree(pages);