Skip to content

Commit

Permalink
buffer: convert init_page_buffers() to folio_init_buffers()
Browse files Browse the repository at this point in the history
Use the folio API and pass the folio from both callers.  Saves a hidden
call to compound_head().

Link: https://lkml.kernel.org/r/20230612210141.730128-12-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Bob Peterson <rpeterso@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
  • Loading branch information
Matthew Wilcox (Oracle) authored and Andrew Morton committed Jun 19, 2023
1 parent 3c98a41 commit 6f24ce6
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions fs/buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -934,15 +934,14 @@ static sector_t blkdev_max_block(struct block_device *bdev, unsigned int size)
}

/*
* Initialise the state of a blockdev page's buffers.
* Initialise the state of a blockdev folio's buffers.
*/
static sector_t
init_page_buffers(struct page *page, struct block_device *bdev,
sector_t block, int size)
static sector_t folio_init_buffers(struct folio *folio,
struct block_device *bdev, sector_t block, int size)
{
struct buffer_head *head = page_buffers(page);
struct buffer_head *head = folio_buffers(folio);
struct buffer_head *bh = head;
int uptodate = PageUptodate(page);
bool uptodate = folio_test_uptodate(folio);
sector_t end_block = blkdev_max_block(bdev, size);

do {
Expand Down Expand Up @@ -998,9 +997,8 @@ grow_dev_page(struct block_device *bdev, sector_t block,
bh = folio_buffers(folio);
if (bh) {
if (bh->b_size == size) {
end_block = init_page_buffers(&folio->page, bdev,
(sector_t)index << sizebits,
size);
end_block = folio_init_buffers(folio, bdev,
(sector_t)index << sizebits, size);
goto done;
}
if (!try_to_free_buffers(folio))
Expand All @@ -1016,7 +1014,7 @@ grow_dev_page(struct block_device *bdev, sector_t block,
*/
spin_lock(&inode->i_mapping->private_lock);
link_dev_buffers(&folio->page, bh);
end_block = init_page_buffers(&folio->page, bdev,
end_block = folio_init_buffers(folio, bdev,
(sector_t)index << sizebits, size);
spin_unlock(&inode->i_mapping->private_lock);
done:
Expand Down

0 comments on commit 6f24ce6

Please sign in to comment.