mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +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
|
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,
|
|||||||
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,
|
|||||||
*/
|
*/
|
||||||
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:
|
||||||
|
Reference in New Issue
Block a user