]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
f2fs: Use a folio in f2fs_add_regular_entry()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 31 Mar 2025 20:11:16 +0000 (21:11 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 28 Apr 2025 15:26:33 +0000 (15:26 +0000)
Remove three hidden 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/dir.c

index 1cfcb27b17b5c515417562a82877452bc9772a16..f65625f90f199495c4c04c0a963c116c86d9fde8 100644 (file)
@@ -665,7 +665,7 @@ int f2fs_add_regular_entry(struct inode *dir, const struct f2fs_filename *fname,
        unsigned int current_depth;
        unsigned long bidx, block;
        unsigned int nbucket, nblock;
-       struct page *dentry_page = NULL;
+       struct folio *dentry_folio = NULL;
        struct f2fs_dentry_block *dentry_blk = NULL;
        struct f2fs_dentry_ptr d;
        struct page *page = NULL;
@@ -698,24 +698,24 @@ start:
                                (le32_to_cpu(fname->hash) % nbucket));
 
        for (block = bidx; block <= (bidx + nblock - 1); block++) {
-               dentry_page = f2fs_get_new_data_page(dir, NULL, block, true);
-               if (IS_ERR(dentry_page))
-                       return PTR_ERR(dentry_page);
+               dentry_folio = f2fs_get_new_data_folio(dir, NULL, block, true);
+               if (IS_ERR(dentry_folio))
+                       return PTR_ERR(dentry_folio);
 
-               dentry_blk = page_address(dentry_page);
+               dentry_blk = folio_address(dentry_folio);
                bit_pos = f2fs_room_for_filename(&dentry_blk->dentry_bitmap,
                                                slots, NR_DENTRY_IN_BLOCK);
                if (bit_pos < NR_DENTRY_IN_BLOCK)
                        goto add_dentry;
 
-               f2fs_put_page(dentry_page, 1);
+               f2fs_folio_put(dentry_folio, true);
        }
 
        /* Move to next level to find the empty slot for new dentry */
        ++level;
        goto start;
 add_dentry:
-       f2fs_wait_on_page_writeback(dentry_page, DATA, true, true);
+       f2fs_folio_wait_writeback(dentry_folio, DATA, true, true);
 
        if (inode) {
                f2fs_down_write(&F2FS_I(inode)->i_sem);
@@ -730,7 +730,7 @@ add_dentry:
        f2fs_update_dentry(ino, mode, &d, &fname->disk_name, fname->hash,
                           bit_pos);
 
-       set_page_dirty(dentry_page);
+       folio_mark_dirty(dentry_folio);
 
        if (inode) {
                f2fs_i_pino_write(inode, dir->i_ino);
@@ -747,7 +747,7 @@ fail:
        if (inode)
                f2fs_up_write(&F2FS_I(inode)->i_sem);
 
-       f2fs_put_page(dentry_page, 1);
+       f2fs_folio_put(dentry_folio, true);
 
        return err;
 }