]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ocfs2: convert ocfs2_readpage_inline() to take a folio
authorMark Tinguely <mark.tinguely@oracle.com>
Thu, 5 Dec 2024 17:16:35 +0000 (17:16 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 13 Jan 2025 04:21:10 +0000 (20:21 -0800)
Save a couple of calls to compound_head() by using a folio throughout this
function.

Link: https://lkml.kernel.org/r/20241205171653.3179945-8-willy@infradead.org
Signed-off-by: Mark Tinguely <mark.tinguely@oracle.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Jun Piao <piaojun@huawei.com>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Mark Fasheh <mark@fasheh.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/ocfs2/aops.c

index c26853fb7dc9db15e950861efcbbb237b0886995..c0a6b82a6a68a22753290391147bcb6c2f262bcf 100644 (file)
@@ -252,12 +252,12 @@ int ocfs2_read_inline_data(struct inode *inode, struct page *page,
        return 0;
 }
 
-static int ocfs2_readpage_inline(struct inode *inode, struct page *page)
+static int ocfs2_readpage_inline(struct inode *inode, struct folio *folio)
 {
        int ret;
        struct buffer_head *di_bh = NULL;
 
-       BUG_ON(!PageLocked(page));
+       BUG_ON(!folio_test_locked(folio));
        BUG_ON(!(OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL));
 
        ret = ocfs2_read_inode_block(inode, &di_bh);
@@ -266,9 +266,9 @@ static int ocfs2_readpage_inline(struct inode *inode, struct page *page)
                goto out;
        }
 
-       ret = ocfs2_read_inline_data(inode, page, di_bh);
+       ret = ocfs2_read_inline_data(inode, &folio->page, di_bh);
 out:
-       unlock_page(page);
+       folio_unlock(folio);
 
        brelse(di_bh);
        return ret;
@@ -322,7 +322,7 @@ static int ocfs2_read_folio(struct file *file, struct folio *folio)
        }
 
        if (oi->ip_dyn_features & OCFS2_INLINE_DATA_FL)
-               ret = ocfs2_readpage_inline(inode, &folio->page);
+               ret = ocfs2_readpage_inline(inode, folio);
        else
                ret = block_read_full_folio(folio, ocfs2_get_block);
        unlock = 0;