buffer: use b_folio in end_buffer_async_write()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 15 Dec 2022 21:43:55 +0000 (21:43 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 19 Jan 2023 01:12:40 +0000 (17:12 -0800)
Save 76 bytes from avoiding the call to compound_head() in SetPageError().
Also avoid the call to compound_head() in end_page_writeback().

Link: https://lkml.kernel.org/r/20221215214402.3522366-6-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/buffer.c

index 5bdcc04..c44ca40 100644 (file)
@@ -344,21 +344,21 @@ void end_buffer_async_write(struct buffer_head *bh, int uptodate)
        unsigned long flags;
        struct buffer_head *first;
        struct buffer_head *tmp;
-       struct page *page;
+       struct folio *folio;
 
        BUG_ON(!buffer_async_write(bh));
 
-       page = bh->b_page;
+       folio = bh->b_folio;
        if (uptodate) {
                set_buffer_uptodate(bh);
        } else {
                buffer_io_error(bh, ", lost async page write");
                mark_buffer_write_io_error(bh);
                clear_buffer_uptodate(bh);
-               SetPageError(page);
+               folio_set_error(folio);
        }
 
-       first = page_buffers(page);
+       first = folio_buffers(folio);
        spin_lock_irqsave(&first->b_uptodate_lock, flags);
 
        clear_buffer_async_write(bh);
@@ -372,7 +372,7 @@ void end_buffer_async_write(struct buffer_head *bh, int uptodate)
                tmp = tmp->b_this_page;
        }
        spin_unlock_irqrestore(&first->b_uptodate_lock, flags);
-       end_page_writeback(page);
+       folio_end_writeback(folio);
        return;
 
 still_busy: