mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
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.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>
This commit is contained in:
committed by
Andrew Morton
parent
3c98a41cc2
commit
6f24ce6bec
18
fs/buffer.c
18
fs/buffer.c
@@ -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 {
|
||||
@@ -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))
|
||||
@@ -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:
|
||||
|
Reference in New Issue
Block a user