]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
f2fs: Add f2fs_folio_put()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 18 Feb 2025 05:51:37 +0000 (05:51 +0000)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 4 Mar 2025 17:02:23 +0000 (17:02 +0000)
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) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h

index 645a53a1f39fb3641a36e7ac90493b366152f575..15ab02ea1016c891a6041b4ef17f74020b6c331f 100644 (file)
@@ -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_put_page(struct page *page, int unlock)
+static inline void f2fs_folio_put(struct folio *folio, bool unlock)
 {
-       if (!page)
+       if (!folio)
                return;
 
        if (unlock) {
-               f2fs_bug_on(F2FS_P_SB(page), !PageLocked(page));
-               unlock_page(page);
+               f2fs_bug_on(F2FS_F_SB(folio), !folio_test_locked(folio));
+               folio_unlock(folio);
        }
-       put_page(page);
+       folio_put(folio);
+}
+
+static inline void f2fs_put_page(struct page *page, int unlock)
+{
+       if (!page)
+               return;
+       f2fs_folio_put(page_folio(page), unlock);
 }
 
 static inline void f2fs_put_dnode(struct dnode_of_data *dn)