reiserfs: Convert release_buffer_page() to use a folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Sun, 1 May 2022 04:35:39 +0000 (00:35 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 10 May 2022 03:12:33 +0000 (23:12 -0400)
Saves 671 bytes from an allmodconfig build (!)

Function                                     old     new   delta
release_buffer_page                         1617     946    -671
Total: Before=67656, After=66985, chg -0.99%

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
fs/reiserfs/journal.c

index b5b6f6201bed3787fe3aae2d82898c8ec3e7e62e..99ba495b0f28909bf41cb1885b3362ec1e24d215 100644 (file)
@@ -601,14 +601,14 @@ static int journal_list_still_alive(struct super_block *s,
  */
 static void release_buffer_page(struct buffer_head *bh)
 {
-       struct page *page = bh->b_page;
-       if (!page->mapping && trylock_page(page)) {
-               get_page(page);
+       struct folio *folio = page_folio(bh->b_page);
+       if (!folio->mapping && folio_trylock(folio)) {
+               folio_get(folio);
                put_bh(bh);
-               if (!page->mapping)
-                       try_to_free_buffers(page);
-               unlock_page(page);
-               put_page(page);
+               if (!folio->mapping)
+                       try_to_free_buffers(&folio->page);
+               folio_unlock(folio);
+               folio_put(folio);
        } else {
                put_bh(bh);
        }