From 894ac9d330c9eb8e108d0d3771ffa7bc89112316 Mon Sep 17 00:00:00 2001 From: "Matthew Wilcox (Oracle)" Date: Tue, 18 Feb 2025 05:51:37 +0000 Subject: [PATCH] f2fs: Add f2fs_folio_put() Convert f2fs_put_page() to f2fs_folio_put() and add a wrapper. Replaces three calls to compound_head() with one. [Jaegeuk Kim: fix missing null pointer check in f2fs_put_page] Signed-off-by: Matthew Wilcox (Oracle) Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- fs/f2fs/f2fs.h | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 645a53a1f39f..15ab02ea1016 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -2815,16 +2815,23 @@ static inline struct page *f2fs_pagecache_get_page( return pagecache_get_page(mapping, index, fgp_flags, gfp_mask); } +static inline void f2fs_folio_put(struct folio *folio, bool unlock) +{ + if (!folio) + return; + + if (unlock) { + f2fs_bug_on(F2FS_F_SB(folio), !folio_test_locked(folio)); + folio_unlock(folio); + } + folio_put(folio); +} + static inline void f2fs_put_page(struct page *page, int unlock) { if (!page) return; - - if (unlock) { - f2fs_bug_on(F2FS_P_SB(page), !PageLocked(page)); - unlock_page(page); - } - put_page(page); + f2fs_folio_put(page_folio(page), unlock); } static inline void f2fs_put_dnode(struct dnode_of_data *dn)