diff options
| author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2025-03-31 23:12:41 +0300 |
|---|---|---|
| committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2025-04-28 18:26:46 +0300 |
| commit | b02a903218bdbde6e81286536c6beb4028d9f8ad (patch) | |
| tree | 4976b74a03c676098d187e70c3d2035cd77422ed /fs/f2fs/data.c | |
| parent | 842974808ac2aa4fd22b6207146329d08fbf7141 (diff) | |
| download | linux-b02a903218bdbde6e81286536c6beb4028d9f8ad.tar.xz | |
f2fs: Use a folio in f2fs_encrypt_one_page()
Fetch a folio from the page cache instead of a page. Removes two calls
to compound_head().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/data.c')
| -rw-r--r-- | fs/f2fs/data.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 316c413079ec..82743b44324b 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -2502,7 +2502,8 @@ static void f2fs_readahead(struct readahead_control *rac) int f2fs_encrypt_one_page(struct f2fs_io_info *fio) { struct inode *inode = fio_inode(fio); - struct page *mpage, *page; + struct folio *mfolio; + struct page *page; gfp_t gfp_flags = GFP_NOFS; if (!f2fs_encrypted_file(inode)) @@ -2527,12 +2528,12 @@ retry_encrypt: return PTR_ERR(fio->encrypted_page); } - mpage = find_lock_page(META_MAPPING(fio->sbi), fio->old_blkaddr); - if (mpage) { - if (PageUptodate(mpage)) - memcpy(page_address(mpage), + mfolio = filemap_lock_folio(META_MAPPING(fio->sbi), fio->old_blkaddr); + if (!IS_ERR(mfolio)) { + if (folio_test_uptodate(mfolio)) + memcpy(folio_address(mfolio), page_address(fio->encrypted_page), PAGE_SIZE); - f2fs_put_page(mpage, 1); + f2fs_folio_put(mfolio, true); } return 0; } |
