From: Matthew Wilcox (Oracle) Date: Wed, 19 Jul 2023 14:31:52 +0000 (-0400) Subject: buffer: Use folio_end_read() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=213e167fddfcb700e6e02aa104384c7b9c7d3ec8;p=users%2Fwilly%2Fpagecache.git buffer: Use folio_end_read() There are two places that we can use this new helper. Signed-off-by: Matthew Wilcox (Oracle) --- diff --git a/fs/buffer.c b/fs/buffer.c index 12e9a71c693d7..b7bafba872730 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -282,13 +282,7 @@ static void end_buffer_async_read(struct buffer_head *bh, int uptodate) } while (tmp != bh); spin_unlock_irqrestore(&first->b_uptodate_lock, flags); - /* - * If all of the buffers are uptodate then we can set the page - * uptodate. - */ - if (folio_uptodate) - folio_mark_uptodate(folio); - folio_unlock(folio); + folio_end_read(folio, folio_uptodate); return; still_busy: @@ -2425,12 +2419,10 @@ int block_read_full_folio(struct folio *folio, get_block_t *get_block) if (!nr) { /* - * All buffers are uptodate - we can set the folio uptodate - * as well. But not if get_block() returned an error. + * All buffers are uptodate or get_block() returned an + * error when trying to map them - we can finish the read. */ - if (!page_error) - folio_mark_uptodate(folio); - folio_unlock(folio); + folio_end_read(folio, !page_error); return 0; }