f2fs: Use a folio in f2fs_do_truncate_blocks()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 31 Mar 2025 20:11:53 +0000 (21:11 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 28 Apr 2025 15:26:39 +0000 (15:26 +0000)
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>
fs/f2fs/file.c

index d333161..90f5ef7 100644 (file)
@@ -746,7 +746,7 @@ int f2fs_do_truncate_blocks(struct inode *inode, u64 from, bool lock)
        struct dnode_of_data dn;
        pgoff_t free_from;
        int count = 0, err = 0;
-       struct page *ipage;
+       struct folio *ifolio;
        bool truncate_page = false;
 
        trace_f2fs_truncate_blocks_enter(inode, from);
@@ -764,9 +764,9 @@ int f2fs_do_truncate_blocks(struct inode *inode, u64 from, bool lock)
        if (lock)
                f2fs_lock_op(sbi);
 
-       ipage = f2fs_get_inode_page(sbi, inode->i_ino);
-       if (IS_ERR(ipage)) {
-               err = PTR_ERR(ipage);
+       ifolio = f2fs_get_inode_folio(sbi, inode->i_ino);
+       if (IS_ERR(ifolio)) {
+               err = PTR_ERR(ifolio);
                goto out;
        }
 
@@ -779,18 +779,18 @@ int f2fs_do_truncate_blocks(struct inode *inode, u64 from, bool lock)
                dec_valid_block_count(sbi, inode, ei.len);
                f2fs_update_time(sbi, REQ_TIME);
 
-               f2fs_put_page(ipage, 1);
+               f2fs_folio_put(ifolio, true);
                goto out;
        }
 
        if (f2fs_has_inline_data(inode)) {
-               f2fs_truncate_inline_inode(inode, ipage, from);
-               f2fs_put_page(ipage, 1);
+               f2fs_truncate_inline_inode(inode, &ifolio->page, from);
+               f2fs_folio_put(ifolio, true);
                truncate_page = true;
                goto out;
        }
 
-       set_new_dnode(&dn, inode, ipage, NULL, 0);
+       set_new_dnode(&dn, inode, &ifolio->page, NULL, 0);
        err = f2fs_get_dnode_of_data(&dn, free_from, LOOKUP_NODE_RA);
        if (err) {
                if (err == -ENOENT)