Commit 6f24ce6b authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Andrew Morton

buffer: convert init_page_buffers() to folio_init_buffers()

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.orgSigned-off-by: default avatarMatthew 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: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 3c98a41c
...@@ -934,15 +934,14 @@ static sector_t blkdev_max_block(struct block_device *bdev, unsigned int size) ...@@ -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 static sector_t folio_init_buffers(struct folio *folio,
init_page_buffers(struct page *page, struct block_device *bdev, struct block_device *bdev, sector_t block, int size)
sector_t block, int size)
{ {
struct buffer_head *head = page_buffers(page); struct buffer_head *head = folio_buffers(folio);
struct buffer_head *bh = head; struct buffer_head *bh = head;
int uptodate = PageUptodate(page); bool uptodate = folio_test_uptodate(folio);
sector_t end_block = blkdev_max_block(bdev, size); sector_t end_block = blkdev_max_block(bdev, size);
do { do {
...@@ -998,9 +997,8 @@ grow_dev_page(struct block_device *bdev, sector_t block, ...@@ -998,9 +997,8 @@ grow_dev_page(struct block_device *bdev, sector_t block,
bh = folio_buffers(folio); bh = folio_buffers(folio);
if (bh) { if (bh) {
if (bh->b_size == size) { if (bh->b_size == size) {
end_block = init_page_buffers(&folio->page, bdev, end_block = folio_init_buffers(folio, bdev,
(sector_t)index << sizebits, (sector_t)index << sizebits, size);
size);
goto done; goto done;
} }
if (!try_to_free_buffers(folio)) if (!try_to_free_buffers(folio))
...@@ -1016,7 +1014,7 @@ grow_dev_page(struct block_device *bdev, sector_t block, ...@@ -1016,7 +1014,7 @@ grow_dev_page(struct block_device *bdev, sector_t block,
*/ */
spin_lock(&inode->i_mapping->private_lock); spin_lock(&inode->i_mapping->private_lock);
link_dev_buffers(&folio->page, bh); 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); (sector_t)index << sizebits, size);
spin_unlock(&inode->i_mapping->private_lock); spin_unlock(&inode->i_mapping->private_lock);
done: done:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment