summaryrefslogtreecommitdiff
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2025-03-31 23:12:41 +0300
committerJaegeuk Kim <jaegeuk@kernel.org>2025-04-28 18:26:46 +0300
commitb02a903218bdbde6e81286536c6beb4028d9f8ad (patch)
tree4976b74a03c676098d187e70c3d2035cd77422ed /fs/f2fs/data.c
parent842974808ac2aa4fd22b6207146329d08fbf7141 (diff)
downloadlinux-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.c13
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;
}