jbd2: Convert release_buffer_page() to use a folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Sun, 1 May 2022 04:52:35 +0000 (00:52 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 10 May 2022 03:12:33 +0000 (23:12 -0400)
Saves a few calls to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
fs/jbd2/commit.c

index ac7f067b7bddb794bc40344058602162eeda3739..2f37108da0ec9b73c1df54f692ea60b02f95a437 100644 (file)
@@ -62,6 +62,7 @@ static void journal_end_buffer_io_sync(struct buffer_head *bh, int uptodate)
  */
 static void release_buffer_page(struct buffer_head *bh)
 {
+       struct folio *folio;
        struct page *page;
 
        if (buffer_dirty(bh))
@@ -71,18 +72,19 @@ static void release_buffer_page(struct buffer_head *bh)
        page = bh->b_page;
        if (!page)
                goto nope;
-       if (page->mapping)
+       folio = page_folio(page);
+       if (folio->mapping)
                goto nope;
 
        /* OK, it's a truncated page */
-       if (!trylock_page(page))
+       if (!folio_trylock(folio))
                goto nope;
 
-       get_page(page);
+       folio_get(folio);
        __brelse(bh);
-       try_to_free_buffers(page);
-       unlock_page(page);
-       put_page(page);
+       try_to_free_buffers(&folio->page);
+       folio_unlock(folio);
+       folio_put(folio);
        return;
 
 nope: