Lines Matching refs:folio
33 struct folio *folio = NULL; in ecryptfs_writepages() local
36 while ((folio = writeback_iter(mapping, wbc, folio, &error))) { in ecryptfs_writepages()
37 error = ecryptfs_encrypt_page(folio); in ecryptfs_writepages()
41 folio->index); in ecryptfs_writepages()
42 folio_clear_uptodate(folio); in ecryptfs_writepages()
45 folio_unlock(folio); in ecryptfs_writepages()
91 ecryptfs_copy_up_encrypted_with_header(struct folio *folio, in ecryptfs_copy_up_encrypted_with_header() argument
100 loff_t view_extent_num = ((loff_t)folio->index in ecryptfs_copy_up_encrypted_with_header()
110 page_virt = kmap_local_folio(folio, 0); in ecryptfs_copy_up_encrypted_with_header()
117 page_virt, folio->mapping->host); in ecryptfs_copy_up_encrypted_with_header()
124 flush_dcache_folio(folio); in ecryptfs_copy_up_encrypted_with_header()
137 folio, (lower_offset >> PAGE_SHIFT), in ecryptfs_copy_up_encrypted_with_header()
139 crypt_stat->extent_size, folio->mapping->host); in ecryptfs_copy_up_encrypted_with_header()
163 static int ecryptfs_read_folio(struct file *file, struct folio *folio) in ecryptfs_read_folio() argument
165 struct inode *inode = folio->mapping->host; in ecryptfs_read_folio()
171 err = ecryptfs_read_lower_page_segment(folio, folio->index, 0, in ecryptfs_read_folio()
172 folio_size(folio), inode); in ecryptfs_read_folio()
175 err = ecryptfs_copy_up_encrypted_with_header(folio, in ecryptfs_read_folio()
187 err = ecryptfs_read_lower_page_segment(folio, in ecryptfs_read_folio()
188 folio->index, 0, folio_size(folio), in ecryptfs_read_folio()
197 err = ecryptfs_decrypt_page(folio); in ecryptfs_read_folio()
206 folio->index); in ecryptfs_read_folio()
207 folio_end_read(folio, err == 0); in ecryptfs_read_folio()
214 static int fill_zeros_to_end_of_page(struct folio *folio, unsigned int to) in fill_zeros_to_end_of_page() argument
216 struct inode *inode = folio->mapping->host; in fill_zeros_to_end_of_page()
219 if ((i_size_read(inode) / PAGE_SIZE) != folio->index) in fill_zeros_to_end_of_page()
224 folio_zero_segment(folio, end_byte_in_page, PAGE_SIZE); in fill_zeros_to_end_of_page()
245 struct folio **foliop, void **fsdata) in ecryptfs_write_begin()
248 struct folio *folio; in ecryptfs_write_begin() local
252 folio = __filemap_get_folio(mapping, index, FGP_WRITEBEGIN, in ecryptfs_write_begin()
254 if (IS_ERR(folio)) in ecryptfs_write_begin()
255 return PTR_ERR(folio); in ecryptfs_write_begin()
256 *foliop = folio; in ecryptfs_write_begin()
259 if (!folio_test_uptodate(folio)) { in ecryptfs_write_begin()
265 folio, index, 0, PAGE_SIZE, mapping->host); in ecryptfs_write_begin()
270 folio_clear_uptodate(folio); in ecryptfs_write_begin()
273 folio_mark_uptodate(folio); in ecryptfs_write_begin()
277 folio, crypt_stat); in ecryptfs_write_begin()
285 folio_clear_uptodate(folio); in ecryptfs_write_begin()
288 folio_mark_uptodate(folio); in ecryptfs_write_begin()
291 folio, index, 0, PAGE_SIZE, in ecryptfs_write_begin()
297 folio_clear_uptodate(folio); in ecryptfs_write_begin()
300 folio_mark_uptodate(folio); in ecryptfs_write_begin()
305 folio_zero_range(folio, 0, PAGE_SIZE); in ecryptfs_write_begin()
306 folio_mark_uptodate(folio); in ecryptfs_write_begin()
308 rc = ecryptfs_decrypt_page(folio); in ecryptfs_write_begin()
313 __func__, folio->index, rc); in ecryptfs_write_begin()
314 folio_clear_uptodate(folio); in ecryptfs_write_begin()
317 folio_mark_uptodate(folio); in ecryptfs_write_begin()
340 folio_zero_range(folio, 0, PAGE_SIZE); in ecryptfs_write_begin()
343 folio_unlock(folio); in ecryptfs_write_begin()
344 folio_put(folio); in ecryptfs_write_begin()
443 struct folio *folio, void *fsdata) in ecryptfs_write_end() argument
457 folio, 0, to); in ecryptfs_write_end()
465 if (!folio_test_uptodate(folio)) { in ecryptfs_write_end()
470 folio_mark_uptodate(folio); in ecryptfs_write_end()
473 rc = fill_zeros_to_end_of_page(folio, to); in ecryptfs_write_end()
479 rc = ecryptfs_encrypt_page(folio); in ecryptfs_write_end()
498 folio_unlock(folio); in ecryptfs_write_end()
499 folio_put(folio); in ecryptfs_write_end()