Lines Matching defs:page

29 	unsigned int size = sizeof(struct page *) * nr;
40 unsigned int size = sizeof(struct page *) * nr;
76 bool f2fs_is_compressed_page(struct page *page)
78 if (!PagePrivate(page))
80 if (!page_private(page))
82 if (page_private_nonpointer(page))
85 f2fs_bug_on(F2FS_M_SB(page->mapping),
86 *((u32 *)page_private(page)) != F2FS_COMPRESSED_PAGE_MAGIC);
90 static void f2fs_set_compressed_page(struct page *page,
93 attach_page_private(page, (void *)data);
96 page->index = index;
97 page->mapping = inode->i_mapping;
138 struct page *f2fs_compress_control_page(struct page *page)
140 return ((struct compress_io_ctx *)page_private(page))->rpages[0];
163 void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct page *page)
167 if (!f2fs_cluster_can_merge_page(cc, page->index))
170 cluster_ofs = offset_in_cluster(cc, page->index);
171 cc->rpages[cluster_ofs] = page;
173 cc->cluster_idx = cluster_idx(cc, page->index);
588 static struct page *f2fs_compress_alloc_page(void)
590 struct page *page;
592 page = mempool_alloc(compress_page_pool, GFP_NOFS);
593 lock_page(page);
595 return page;
598 static void f2fs_compress_free_page(struct page *page)
600 if (!page)
602 detach_page_private(page);
603 page->mapping = NULL;
604 unlock_page(page);
605 mempool_free(page, compress_page_pool);
610 static void *f2fs_vmap(struct page **pages, unsigned int count)
690 /* zero out any unused part of the last page */
802 * This is called when a page of a compressed cluster has been read from disk
803 * (or failed to be read from disk). It checks whether this page was the last
804 * page being waited on in the cluster, and if so, it decompresses the cluster
807 void f2fs_end_read_compressed_page(struct page *page, bool failed,
811 (struct decompress_io_ctx *)page_private(page);
819 f2fs_cache_compressed_page(sbi, page,
850 bool f2fs_all_cluster_page_ready(struct compress_ctx *cc, struct page **pages,
883 struct page *page = cc->rpages[i];
885 f2fs_bug_on(F2FS_I_SB(cc->inode), !page);
888 if (page->index >= nr_pages)
1039 struct page **pagep, pgoff_t index, void **fsdata)
1043 struct page *page;
1058 /* keep page reference to avoid page reclaim */
1060 page = f2fs_pagecache_get_page(mapping, start_idx + i,
1062 if (!page) {
1067 if (PageUptodate(page))
1068 f2fs_put_page(page, 1);
1070 f2fs_compress_ctx_add_page(cc, page);
1093 page = find_lock_page(mapping, start_idx + i);
1094 if (!page) {
1095 /* page can be truncated */
1099 f2fs_wait_on_page_writeback(page, DATA, true, true);
1100 f2fs_compress_ctx_add_page(cc, page);
1102 if (!PageUptodate(page)) {
1126 struct page **pagep, pgoff_t index, void **fsdata)
1164 struct page *pagep;
1189 struct page **rpages = fsdata;
1225 .page = NULL,
1301 /* wait for GCed page writeback via META_MAPPING */
1305 fio.page = cc->rpages[i + 1];
1322 fio.page = cc->rpages[i];
1358 unlock_page(fio.page);
1409 void f2fs_compress_write_end_io(struct bio *bio, struct page *page)
1413 (struct compress_io_ctx *)page_private(page);
1414 enum count_type type = WB_DATA_TYPE(page,
1415 f2fs_is_compressed_page(page));
1421 f2fs_compress_free_page(page);
1660 struct page *page;
1662 page = f2fs_compress_alloc_page();
1663 f2fs_set_compressed_page(page, cc->inode,
1665 dic->cpages[i] = page;
1739 struct page *rpage = dic->rpages[i];
1777 struct page *rpage = dic->rpages[i];
1797 * Put a reference to a compressed page's decompress_io_ctx.
1799 * This is called when the page is no longer needed and can be freed.
1801 void f2fs_put_page_dic(struct page *page, bool in_task)
1804 (struct decompress_io_ctx *)page_private(page);
1853 void f2fs_cache_compressed_page(struct f2fs_sb_info *sbi, struct page *page,
1856 struct page *cpage;
1890 memcpy(page_address(cpage), page_address(page), PAGE_SIZE);
1896 bool f2fs_load_compressed_page(struct f2fs_sb_info *sbi, struct page *page,
1899 struct page *cpage;
1910 memcpy(page_address(page),
1948 if (ino != get_page_private_data(&folio->page)) {
1953 generic_error_remove_page(mapping, &folio->page);
1999 sbi->page_array_slab_size = sizeof(struct page *) <<