diff options
| author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2025-02-18 05:51:37 +0000 |
|---|---|---|
| committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2025-03-04 17:02:23 +0000 |
| commit | 894ac9d330c9eb8e108d0d3771ffa7bc89112316 (patch) | |
| tree | b3bbc220d90aa03cbdd1bcbe93b7d7e0613d7579 | |
| parent | 36e1d6344aca13e1f20af099561db75f28649151 (diff) | |
| download | linux-894ac9d330c9eb8e108d0d3771ffa7bc89112316.tar.gz linux-894ac9d330c9eb8e108d0d3771ffa7bc89112316.zip | |
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) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
| -rw-r--r-- | fs/f2fs/f2fs.h | 17 |
1 files changed, 12 insertions, 5 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_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) |
