Lines Matching refs:page
26 unsigned int size = sizeof(struct page *) * nr;
36 unsigned int size = sizeof(struct page *) * nr;
71 bool f2fs_is_compressed_page(struct page *page)
73 if (!PagePrivate(page))
75 if (!page_private(page))
77 if (IS_ATOMIC_WRITTEN_PAGE(page) || IS_DUMMY_WRITTEN_PAGE(page))
80 * page->private may be set with pid.
83 if (IS_IO_TRACED_PAGE(page))
86 f2fs_bug_on(F2FS_M_SB(page->mapping),
87 *((u32 *)page_private(page)) != F2FS_COMPRESSED_PAGE_MAGIC);
91 static void f2fs_set_compressed_page(struct page *page,
94 SetPagePrivate(page);
95 set_page_private(page, (unsigned long)data);
98 page->index = index;
99 page->mapping = inode->i_mapping;
140 struct page *f2fs_compress_control_page(struct page *page)
142 return ((struct compress_io_ctx *)page_private(page))->rpages[0];
164 void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct page *page)
168 if (!f2fs_cluster_can_merge_page(cc, page->index))
171 cluster_ofs = offset_in_cluster(cc, page->index);
172 cc->rpages[cluster_ofs] = page;
174 cc->cluster_idx = cluster_idx(cc, page->index);
548 static struct page *f2fs_compress_alloc_page(void)
550 struct page *page;
552 page = mempool_alloc(compress_page_pool, GFP_NOFS);
553 lock_page(page);
555 return page;
558 static void f2fs_compress_free_page(struct page *page)
560 if (!page)
562 set_page_private(page, (unsigned long)NULL);
563 ClearPagePrivate(page);
564 page->mapping = NULL;
565 unlock_page(page);
566 mempool_free(page, compress_page_pool);
571 static void *f2fs_vmap(struct page **pages, unsigned int count)
591 struct page **new_cpages;
657 /* zero out any unused part of the last page */
705 void f2fs_decompress_pages(struct bio *bio, struct page *page, bool verity)
708 (struct decompress_io_ctx *)page_private(page);
718 if (bio->bi_status || PageError(page))
830 struct page *page = cc->rpages[i];
832 f2fs_bug_on(sbi, !page);
840 if (page->index >= nr_pages)
942 struct page **pagep, pgoff_t index, void **fsdata)
946 struct page *page;
966 /* keep page reference to avoid page reclaim */
968 page = f2fs_pagecache_get_page(mapping, start_idx + i,
970 if (!page) {
975 if (PageUptodate(page))
976 f2fs_put_page(page, 1);
978 f2fs_compress_ctx_add_page(cc, page);
1001 page = find_lock_page(mapping, start_idx + i);
1002 if (!page) {
1003 /* page can be truncated */
1007 f2fs_wait_on_page_writeback(page, DATA, true, true);
1008 f2fs_compress_ctx_add_page(cc, page);
1010 if (!PageUptodate(page)) {
1053 struct page **pagep, pgoff_t index, void **fsdata)
1091 struct page *pagep;
1116 struct page **rpages = fsdata;
1152 .page = NULL,
1220 /* wait for GCed page writeback via META_MAPPING */
1224 fio.page = cc->rpages[i + 1];
1241 fio.page = cc->rpages[i];
1277 unlock_page(fio.page);
1331 void f2fs_compress_write_end_io(struct bio *bio, struct page *page)
1335 (struct compress_io_ctx *)page_private(page);
1341 f2fs_compress_free_page(page);
1502 struct page *page;
1504 page = f2fs_compress_alloc_page();
1505 if (!page)
1508 f2fs_set_compressed_page(page, cc->inode,
1510 dic->cpages[i] = page;
1548 void f2fs_decompress_end_io(struct page **rpages,
1554 struct page *rpage = rpages[i];
1581 sbi->page_array_slab_size = sizeof(struct page *) <<